gpt4 book ai didi

domain-driven-design - 处理 DDD 中的嵌套聚合

转载 作者:行者123 更新时间:2023-12-03 22:44:26 28 4
gpt4 key购买 nike

我刚刚开始使用 DDD,我在弄清楚如何适应数据的关系性质时遇到了一些麻烦。我有我认为会被认为是我的聚合根的东西,但聚合也有它自己的聚合。不想违反迪米特法则,我想知道我是否在考虑这个错误,并希望一些 DDD 专家可以提供一些见解。

我的聚合根是我的 Account对象,其中有无数 AccountElement 的聚合实体,它们本身是个体 ProductComponent 的逻辑分组实体。

AccountElementAccount 的上下文之外没有意义,所以我对 Account 的结论感到满意。 object 是我的聚合根,我预计该实体具有聚合 Elements属性(property)。这是ProductComponent让我困惑的收藏。该聚合在 AccountElement 之外没有任何意义。 ,并且在 Account 之外真的没有任何意义.

我认为我不应该访问个人 ProductComponent通过点我的方式对象,例如:

var reference = account.Elements(0).ProductComponents(0).ReferenceCode;

但与此同时,访问 ProductComponent 没有意义(从域的角度来看)。直接来自 Account实体。

我敢肯定,如果不了解我的领域,这一切都会有点难以理解,但我希望这足以获得一些好的反馈。

最佳答案

罗伯特链接的文章是一篇很好的文章。我要补充的是,如果 ProductComponent 仅存在于 AccountElement 的上下文中,而 AccountElement 仅存在于 Account 的上下文中,那么通过扩展 ProductComponent 位于 Account 的上下文中。

关于domain-driven-design - 处理 DDD 中的嵌套聚合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2210262/

28 4 0