我是说,有没有PersonAggregate类?我知道它不存在。我只有一个实体作为聚合根。这是正确的吗?
发布于 2016-11-25 23:29:42
i只有一个实体作为聚合根。这是正确的吗?
是这样的。
聚合是隐式的-它是分隔两个不相交的状态集的边界,这些状态集可以相互独立地修改。等同地,聚合是模型中的业务状态图,可以在不咨询图外的状态的情况下进行修改,反之亦然。
聚合根是显式的。这是图形中暴露的单个实体-也就是说,它充当对图形的所有修改都必须通过的入口点。
假设,您可以实现一个具有两个不同的公开实体的聚合,每个实体都可以执行命令来修改状态;Evans引入了单个聚合根的概念,因为多个入口点很难正确。
发布于 2016-11-25 23:20:21
我见过在项目中使用这两种解决方案,但大多数情况下人们不使用这个后缀。
一个有趣的解决方案是将聚合类设为公共和非聚合类包(默认)。您可以直接从IDE中看到哪些类具有哪些可见性,并且可以轻松地确定聚合位置。此外,非公共类不能在包之外使用,这是最初的意图。
发布于 2016-11-25 23:25:16
我的理解是聚合根是一个实体,但实体可能不是聚合根。因此,我认为“聚合根”更像是一个stereotype。
https://stackoverflow.com/questions/40807112
复制相似问题