随笔分类 -  DDD-领域驱动设计开发

摘要:一:面向对象设计中最简单的部分与最难的部分如果说事务脚本是 面向过程 的,那么领域模型就是 面向对象 的。面向对象的一个很重要的点就是:“把事情交给最适合的类去做”,即:“你得在一个个领域类之间跳转,才能找出他们如何交互”,Martin Flower 说这是面向对象中最难的部分,这具有误导的成份。确... 阅读全文
posted @ 2014-08-15 09:18 陆敏技 阅读(60520) 评论(53) 推荐(13) 编辑
摘要:看到一些工作单元的介绍,有两种感觉,第一种是很学院,说了等于没说,我估计很多都是没有自己引入到实际的项目中去,第二种是告诉我一种结果,说这就是工作单元,但是没说为什么要这么使用。所以,本篇想要探讨的是:为什么工作单元要这么用。首先,要想将工作单元引入到自己的项目中去,急需要解决的一个问题是:工作单元的生命周期,即: 1:工作单元被谁创建,何时消亡? 2:工作单元被谁们持有? 3:工作单元的 4 个... 阅读全文
posted @ 2014-08-14 10:01 陆敏技 阅读(5052) 评论(0) 推荐(0) 编辑
摘要:一:数据映射器关系型数据库用来存储数据和关系,对象则可以处理业务逻辑,所以,要把数据本身和业务逻辑糅杂到一个对象中,我们要么使用 活动记录,要么把两者分开,通过数据映射器把两者关联起来。数据映射器是分离内存对象和数据库的中间软件层,下面这个时序图描述了这个中间软件层的概念:在这个时序图中,我们还看到... 阅读全文
posted @ 2014-08-13 10:37 陆敏技 阅读(5193) 评论(7) 推荐(2) 编辑
摘要:一:标识域(Identity Field) 标识域(Identity Field)可以理解为主键。使用领域模型和行数据入口的时候,就要使用标识域,因为这两个对象代表的是唯一存在的那个数据记录。事务脚本、表模块、表数据入口等就不需要这个映射。 public abstract class DomainObj{ public string Id {get; set;} public string ... 阅读全文
posted @ 2014-08-13 10:02 陆敏技 阅读(1609) 评论(0) 推荐(0) 编辑
摘要:这里的实体类更倾向于数据传输对象(既DTO)。无论是编码风格采用 事务脚本 还是 领域模型,我们都会遇到各种各样的数据传输对象,尤其是传统事务脚本三层架构的编码中,更会遇到各类实体对象,一般来说,这些实体对象产生的原因如下:1:为各类报表和查询服务的联表查询,会导致字段变多,带来的实体的属性增多。怎... 阅读全文
posted @ 2014-06-17 20:14 陆敏技 阅读(2165) 评论(13) 推荐(7) 编辑
摘要:一:领域驱动中的分层领域驱动设计将软件系统分为四层:基础结构层、领域层、应用层和表现层。· 基础结构层:该层专为其它各层提供技术框架支持。注意,这部分内容不会涉及任何业务知识。众所周知的数据访问的内容,也被放在了该层当中,因为数据的读写是业务无关的。· 领域层:包含了业务所涉及的领域对象(实体、值对象)、领域服务以及它们之间的关系。这部分内容的具体表现形式就是领域模型(Domain Model)。领域驱动设计提倡富领域模型,即尽量将业务逻辑归属到领域对象上,实在无法归属的部分则以领域服务的形式进行定义。· 应用层:该层不包含任何领域逻辑,但它会对任务进行协调,并可 阅读全文
posted @ 2011-12-16 15:57 陆敏技 阅读(2703) 评论(2) 推荐(2) 编辑

Web Counter
Coupon for Contacts