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