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