好贷网好贷款

领域驱动设计学习笔记(1)

发布时间:2016-12-4 3:51:30 编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"领域驱动设计学习笔记(1)",主要涉及到领域驱动设计学习笔记(1)方面的内容,对于领域驱动设计学习笔记(1)感兴趣的同学可以参考一下。

关联简化,从而让模型更清晰指定一个导航的方向加入限定符减少关联的多重性清除不必要的关联 模型分为实体,值对象,服务对象三种实体应具有唯一标识(ID)来进行区分值对象则为只关心它们是什么,而不关心它们谁是谁的对象,所以不需要分配标识。通常是临时对象,经常作为实体的属性和其他值。设计时需要对复制,共享和不变性作出选择。值对象之间的双向关联是没有意义的服务,强调与其它对象的联系,往往代表一种行为,而不是一个实体,它有一个定义好的职责,调用的参数和返回的结果应该是领域对象。 服务的特征与领域概念相关的操作不是实体和值对象中固有的部分。接口根据领域模型中的其他元素来定义操作是无状态的 如果一个功能在该领域中有意义并且相关,则属于服务对象,否则则为应用层对象 实现聚合的规则根实体具有全局标识,并最终负责对不变量的检查根实体具有全局标识,边界之内的实体具有本地标识,这些标识仅在聚合内部是唯一的聚合边界以外的任何对象除了可以引用根实体,不能持有任何对其内部对象的引用。根实体可以把其内部实体的引用传递给其他对象,但是它们只能临时使用这种引用,而不能持有这种引用。根还可以复制一个值对象的副本传给另一个对象,它并不关心这个副本会发生什么变化,因为那只是一个值,而且与聚合已经不再有任何关联了。作为上一条规则的推论,能通过数据库查询直接获得的对象只有聚合根,所有其它对象必须通过导航关联来访问聚合内的对象可以持有其他聚合根的引用删除操作必须一次性删除聚合边界内的所有对象当在聚合边界内发生的任何对象修改被提交时,整个聚合的所有不变量必须都被满足。 将创建复杂对象或聚合的实例分离到一个单独的对象中来,这个对象提供了一个将所有复杂的组合封闭起来的接口,这样客户就无需引用它要实例化的对象的具体类了,用工厂创建聚合,并保证不变量得到满足 工厂的要求每个创建方法是原子的,并保证满足不变量应该将构造结果抽象到所需的类型,而不是它所创建的具体类的类型

上一篇:jQuery的介绍
下一篇:Aphorism

相关文章

相关评论