gpt4 book ai didi

repository - 领域驱动设计和聚合引用

转载 作者:行者123 更新时间:2023-12-01 12:52:05 24 4
gpt4 key购买 nike

我正在设计领域模型,但有些地方似乎不太对。

我从一个主聚合开始。它引用了其他聚合,而那些其他聚合也引用了更多聚合。我可以从主聚合开始遍历孔域模型。

我看到的问题是我将在内存中保存聚合的所有实例。

这样的设计好吗?我可以通过延迟加载来解决内存问题,但我认为我有更深层次的问题。

我还有一个关于聚合引用的问题。我应该延迟加载对其他聚合的引用吗?如果是这样的话,我几乎永远不会使用他们的存储库。可以吗?

最佳答案

在聚合根 (AR) 之间直接引用会导致延迟加载无法解决的问题。此外,它强制所有连接的 AR 都在同一个数据库中,并且使得推理和执行不变量变得更加困难,而这正是 AR 的主要目的。最好限制或消除 AR 之间的直接引用。了解聚合设计的重要资源是 series of articles通过 Vaughn Vernon .基本思想是让您的 AR 精简和专注,同时牢记它们的功能 - 强制执行业务约束并围绕根实体建立边界。如果一个 AR 需要来自另一个 AR 的数据来执行其工作,则该数据可以由应用程序服务通过存储库提供给它。此外,如果仅需要引用来满足 UI 要求,请考虑使用 read-model pattern .

关于repository - 领域驱动设计和聚合引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11631524/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com