《领域驱动设计》第五章 软件中所表示的模型

       如何处理好具体模型选择与实现问题的关系,模型的设计和关联的简化是非常重要的。本章着重区分表示模型元素的三种模式:Entity|、ValueObject、Service。

5.1 关联

      模型选择与问题实现之间的交互之所以如此复杂,是受对象之间存在各种复杂的关联。对象之间的关联包括:一对一、一对多、多对多;如何使关联更易于控制,包括以下三种方式:

(1)规定一个遍历方向。

(2)添加一个限定符以便有效的减少多重关联。

(3)消除不必要的关联

      举例说明:美国的总统。美国有很多位总统,当我们加以时间限定,再去看这个问题,比如1970年美国总统是哪位?时间限定让美国一对多位总统的关联,变为一对一的关联。不同维度看问题得到的答案有所不同。

5.2 Entity(又称为 REFERENCE OBJECT)

      很多对象不是通过它们的属性定义的,而是通过连续性和标识定义的。

      举例说明:我租了一间房子,遭到房东的起诉,诉讼我破坏房屋。我向她解释,她指出电话薄只有我的名字。显然我的名字被作为唯一的辨识对象。但由于我已经住了两年,询问他是否有去年的电话薄,结果有一个和我重名的,问题显而易见。名称在此并不能完全作为一个标识。

      一些对象主要不是由它们属性定义的。它们实际上标识了一条标识线,这条线跨越时间,而且常常经历多种不同的表示。有时,这样的对象必须与具

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值