如何访问聚合根后面的实体?

问题描述 投票:0回答:2

我进入了 DDD 的第一周,并且有几个定义了聚合根的实体。

我读到聚合之外的任何外部实体都不能引用聚合中的实体,因此外部实体必须引用聚合根。

好吧,除非我错误地建模了我的解决方案,否则我需要引用聚合根后面的实体。我该如何处理这种情况,或者我是否必须重新构建我的域以避免这种情况?

京东

domain-driven-design
2个回答
3
投票

您可能可以改进您的模型。如果需要对聚合内的实体进行外部引用,那么这就有力地表明内部实体本身可能就是聚合根。

这当然是一般建议,因为我对您的具体型号一无所知。

有关聚合设计的重要建议,请查看这篇Vaughn Vernon 的论文。在第一部分“聚合建模”中,他专门讨论了聚合粒度,我发现这非常有启发性。


0
投票

您可以使用动态聚合 动态聚合允许您组合聚合并在运行时动态加载它们。动态聚合使得可以在不更改主聚合的情况下高速加载来自不同聚合的数据。当从不同聚合读取数据时,建议使用动态聚合,以减少I/O数量。

有关更多详细信息,请参阅此存储库。 git 存储库

© www.soinside.com 2019 - 2024. All rights reserved.