从我阅读的一篇文章中得知,实体只是聚合的一个子集。我已经在领域驱动设计和实现领域驱动设计中阅读了这两种模式的相关内容,并试图理解它们之间的UML差异。
让我们考虑一个简单的类。它是一个信件,包含消息、接收者和可能的发送者。
现在假设我们想扩展我们的包裹业务,使其也能够发送包裹,那么它可能会像下面这样。
我的问题是:
我们是否可以说 Entity 和 Aggregate 之间的 UML 差异在于 Entity 不包含任何组合关系,而 Aggregate 至少包含一个组合关系?
让我们考虑一个简单的类。它是一个信件,包含消息、接收者和可能的发送者。
现在假设我们想扩展我们的包裹业务,使其也能够发送包裹,那么它可能会像下面这样。
因此,我们确保组合关系在聚合内部隐藏,并保留不变量。聚合根通过禁止外部对象持有其成员的引用来保证在聚合内进行的更改的一致性。
我的问题是:
我们是否可以说 Entity 和 Aggregate 之间的 UML 差异在于 Entity 不包含任何组合关系,而 Aggregate 至少包含一个组合关系?