2015年9月17日

使用双分派解决领域实体和外部机制通信问题

摘要: 使用双分派解决领域实体和外部机制通信问题 经典DDD分层中领域层领域实体自身高内聚,在领域层内通过聚合,实体,事件和仓储接口完成领域业务逻辑。 最近在实际项目中遇到一种场景,有如下所示实体Device: 其中ExecuteCmd方法需要首先将指令通过网络发送到实际设备。由于领域实体自身不能... 阅读全文

posted @ 2015-09-17 16:25 小水坝 阅读(534) 评论(0) 推荐(0) 编辑

2014年11月26日

搞定thrift双向消息

摘要: thrift作为脱胎于facebook的rpc框架,各方面都非常优秀。清晰的分层设计,多语言的支持,以及不输protocolbuffer的效率(compact下优于protocolbuffer),都让thrift拥有越来越多的使用者。作为一个RPC框架,thrift支持的是open->client-... 阅读全文

posted @ 2014-11-26 09:32 小水坝 阅读(8056) 评论(2) 推荐(0) 编辑

2014年11月23日

读《软件需求最佳实践》有感

摘要: 自从购入徐峰老师的《软件需求最佳实践》以来,断断续续看了差不多有3个月,期间一直在负责一个项目的需求和架构,在需求上从零开始使用了SERU框架,现在项目第一次迭代趋于结束,对于SERU框架也有了一点或多或少的认识。说起来接触这本书多多少少是因为另一本温昱老师的《一线架构师实践指南》的影响(准确说是直... 阅读全文

posted @ 2014-11-23 17:29 小水坝 阅读(1331) 评论(0) 推荐(0) 编辑

2014年10月25日

【thrift】vc中使用thrift中文字符串乱码问题解决

摘要: 问题描述:VC中使用Apache thrift时,如果字符串中包含中文,会出现乱码问题,这个问题的原因是由于thrift为了达到跨语言交互而使用了UTF-8格式发送字符串,这点对java或者C#不会造成影响,但是在VC中UTF-8却很成问题。VC中的string编码随项目编码一般是multibyte... 阅读全文

posted @ 2014-10-25 10:27 小水坝 阅读(2373) 评论(0) 推荐(0) 编辑

2014年7月15日

__declspec(dllimport)的小秘密(转)

摘要: 昨天和同事使用一个dll(lib+dll)的时候,发现他在引用头文件是,并没有使用__declspec(dllimport),但是程序完全运行正常,不明觉厉下,去网上翻了下资料,原来是链接器的原因,这里贴一个转帖,已经写得很清楚了。邓立波深圳,2008-6作者联系方式:email:libodeng@... 阅读全文

posted @ 2014-07-15 08:49 小水坝 阅读(417) 评论(0) 推荐(0) 编辑

2014年6月12日

跨线程send message

摘要: 今天同事问了一个问题,说在线程中send message 和直接调用是不是一样,他觉得是一样的,但是线程跟踪却发现处理过程是在接收消息队列完成。回家看到博客园上的一番争论才有些明白,这里贴出来,共勉http://bbs.csdn.net/topics/390715501?page=1If the s... 阅读全文

posted @ 2014-06-12 23:14 小水坝 阅读(529) 评论(0) 推荐(0) 编辑

2013年11月26日

【boost】使用serialization库序列化子类

摘要: boost.serialization库是一个非常强大又易用的序列化库,用于对象的保存与持久化等。使用base_object可以在序列化子类的同时也序列化父类,以此获得足够的信息来从文件或网络数据中反序列化出子类。最近在工作中却遇到这样一个问题,代码示例如下struct Field{ friend class boost::serialization::access; template void serialize(Archive & ar, const unsigned int version) { ar & boost::serialization::... 阅读全文

posted @ 2013-11-26 23:57 小水坝 阅读(1755) 评论(0) 推荐(0) 编辑

2013年11月25日

【boost】ptree 读写中文的问题

摘要: 最经项目中使用到了boost property_tree,却在中文问题上遇到大问题。直接使用ptree读写存储于窄字符(如string)类型的中文字符串时,程序可以运行,但由于XML默认使用UTF-8字符集,在xml文件中的中文字符不可读。为了解决这个问题,有两个办法1、使用wptree和wstring方式配合,这种方式网上可以查到。2、直接改变xml存储时的编码,如使用gb2312 xml_writer_settings ss('*' ,0,"gb2312"); write_xml(path, m_tree, std::locale(), ss); 阅读全文

posted @ 2013-11-25 09:34 小水坝 阅读(854) 评论(0) 推荐(0) 编辑

2013年11月8日

动态创建TeeChart的简便方法

摘要: 最近在项目中使用Teechart ocx版本替换了labview的老版本控件,显示效果和效率均有提高,但是却遇到多线程下报access violation的问题。翻遍大小论坛,最后在官网论坛找到相同问题,客服的答复是“多线程情况下,需要在线程中动态创建Teechart控件,不然mouse move事件可能会引起accessviolation 错误”。使用代码动态创建Teechart需要大量代码,在做多项定制并添加tools的情况下简直就是噩梦。labview的图表控件可以将配置导出为文件,动态创建的时候直接载入配置,在翻看Teechart配置工具后,终于让我找到了类似的方法,以下为使用过程(v 阅读全文

posted @ 2013-11-08 21:40 小水坝 阅读(1693) 评论(0) 推荐(0) 编辑

2013年10月9日

【MFC】动态创建CMFCToolbar图标不显示问题

摘要: 最近遇到一个问题,需要动态的从xml文件读取一系列图标文件,加载到一个toolbar中,由于使用的是vs2008 with sp1 feature pack,自然想到用CMFCToolbar来做,思路也很简单1、将图标文件加入CMFCToolBarImages。2、设置CMFCToolbar::SetUserImages为第1步中的CMFCToolBarImages。3、继承CMFCToolbar,在OnCreate中动态调用SetButtons或者InsertButton函数添加相应按钮,或者在外部调用InsertButton public版本(引用)添加按钮。4、在MainFrm中动态创建 阅读全文

posted @ 2013-10-09 13:55 小水坝 阅读(3657) 评论(1) 推荐(0) 编辑

导航