如何处理好具体模型选择与实现问题的关系,模型的设计和关联的简化是非常重要的。本章着重区分表示模型元素的三种模式:Entity|、ValueObject、Service。
5.1 关联
模型选择与问题实现之间的交互之所以如此复杂,是受对象之间存在各种复杂的关联。对象之间的关联包括:一对一、一对多、多对多;如何使关联更易于控制,包括以下三种方式:
(1)规定一个遍历方向。
(2)添加一个限定符以便有效的减少多重关联。
(3)消除不必要的关联
举例说明:美国的总统。美国有很多位总统,当我们加以时间限定,再去看这个问题,比如1970年美国总统是哪位?时间限定让美国一对多位总统的关联,变为一对一的关联。不同维度看问题得到的答案有所不同。
5.2 Entity(又称为 REFERENCE OBJECT)
很多对象不是通过它们的属性定义的,而是通过连续性和标识定义的。
举例说明:我租了一间房子,遭到房东的起诉,诉讼我破坏房屋。我向她解释,她指出电话薄只有我的名字。显然我的名字被作为唯一的辨识对象。但由于我已经住了两年,询问他是否有去年的电话薄,结果有一个和我重名的,问题显而易见。名称在此并不能完全作为一个标识。
一些对象主要不是由它们属性定义的。它们实际上标识了一条标识线,这条线跨越时间,而且常常经历多种不同的表示。有时,这样的对象必须与具有相同属性的另一个对象区分开,错误的标识可能会破坏数据。
5.2.1 Entity建模
拿顾客来举例说

本文深入探讨了领域驱动设计(DDD)中的模型元素,重点介绍了Entity(引用对象)、Value Object的概念及区别,并讨论了如何简化对象之间的关联。通过实例分析,阐述了如何根据时间限定改变关联性质,以及如何设计标识操作和Value Object,以提高模型的表达力和可维护性。
最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



