博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

随笔分类 -  领域驱动设计

摘要:1:DTO对象的设计应该是尽量不包含其他类作为属性,可以将其他类的属性来代替此类。比如说A类有a1, B 属性, B类有b1,b2属性。则DTO设计应该是 A{ a1,b1,b2} 。这样就除去了类之间的相互依赖。因为DTO应该是界面元素的体现,不应该存在类之间的关系。 2:DTO mapper的初始化中一般都是从entity map到dto,在创建对象时,都是通过工厂传递DTO的属性来创建。MaterializeCustomerFromDto是从dto到entity。不是通过mapper. 3:然后entity到dto的映射可以通过扩展行为来实现。 4:扩展方法的优点和... 阅读全文

posted @ 2012-10-14 23:24 止水 阅读(459) 评论(0) 推荐(0)

摘要:重构!重构! 整个项目基本功能已经结束,整个过程完全是赶工似的。设计,实现完,现在回过头来看,发现很多地方都需要重构,但是重构起来又是无比的困难,在开发的时候,其实已经发现了问题,只是心里却想,等重构的时候再处理吧,最后所有的问题都积累了下来,成为了一个顽疾。所以,开发的过程应该是对于每个模块:先设计,实现,然后重构,最后根据重构后的设计再实现一遍。一定要在发现问题的时候就重构,而不要等到做完所有的实现,再来重构。 具体实现:每周周末可以拿出一个时间来进行重构。 阅读全文

posted @ 2012-10-07 11:19 止水 阅读(194) 评论(0) 推荐(0)

摘要:这里我将会分析微软的n-layer sample 中的领域模型的设计。1:Product 聚合,里面包含三个类:Product,Software,Book。这三者是继承关系,他们共同的一个特点就是属性的set 都private 掉了。这些类是一些基础数据类,没有什么业务,唯一的业务就是IncrementStock。但是book,software都定义了一个private construct就很奇怪。好像是为了ef构造数据库2:Customer 聚合,里面包含三个类:Customer,Address,Picture。其中Address类是值对象。很明显,Address的各属性值一致时,它代表的是 阅读全文

posted @ 2012-09-25 00:58 止水 阅读(377) 评论(0) 推荐(0)

摘要:以下文章是引用dax.net的翻译,我贴过来,主要是根据我自己做集成的经验,有几个需要注意的地方标注一下。本文翻译自领域驱动设计官方网站的一篇实践性论文,原文题为《IAnticorruption – A Domain-Driven Design Approach To More Robust Integration》,我觉得这篇论文写得很不错,实践性非常强,通过对一个真实项目的研究,并结合整个团队在项目实践上的经验,总结了领域驱动设计在系统集成方面的指导作用:通过防腐层的引入,改善现有的系统集成架构,并引导整个项目和团队实现可持续化发展。本文还隐喻了架构设计的重要性:合理的架构不仅能够很好地支 阅读全文

posted @ 2012-09-04 00:04 止水 阅读(574) 评论(0) 推荐(0)