当我看看我们的办公室时,我立即想到了一些实体和价值对象。
例如,来自post-block的空帖子肯定是一个值对象,因为它无法与同一块上的任何其他空帖子区分开来,我并不在乎所有关于哪个我使用的帖子如果我需要一个空的。
相比之下,我和我的同事肯定是实体,因为我们每个人都有自己的身份。
表可能是实体或值对象,具体取决于您查看它的方式(它是否与任何其他表一样好,或者它是您的表?)。
当然,YMMV。
所以,既然我已经找到了对实体和价值对象的一些现实世界的类比 - 那么聚合的类比是什么呢?有吗?
我可以想象,了解聚合实际上是什么有助于理解它背后的概念。
有什么建议吗?
答案 0 :(得分:5)
蓝皮书中的例子:汽车。
汽车(实体,由车辆识别号码识别)有4个轮子(实体,由左前,左后,右前,右后)识别。
当我开车时,我不需要(并且想要)知道车轮是如何工作的。汽车实体将它作为聚合根封装起来。
蓝皮书中的另一个例子:采购订单。
在任何时候,子采购订单(本地实体)的总量不能大于purcahse订单的限制(在这种情况下为聚合根)。聚合根应始终检查约束。