我刚刚开始使用 DDD,在弄清楚如何适应数据的关系性质时遇到了一些麻烦。我有我认为会被认为是我的聚合根的东西,但聚合也有它自己的聚合。不想违反得墨忒耳法则,我想知道我是否在想这个错误,并希望一些 DDD 专家可以提供一些见解。
我的聚合根是我的Account
对象,它具有众多AccountElement
实体的聚合,这些实体本身就是各个ProductComponent
实体的逻辑分组。
anAccountElement
的上下文之外Account
没有任何意义,因此我对我的结论感到满意,即该Account
对象是我的聚合根,并且我预计该实体具有聚合Elements
属性。ProductComponent
让我困惑的是这个系列。这个聚合在 a 之外没有任何意义,在 a 之外AccountElement
真的没有任何意义Account
。
我认为我不应该ProductComponent
通过点我的方式来访问单个对象,例如:
var reference = account.Elements(0).ProductComponents(0).ReferenceCode;
ProductComponent
但与此同时,直接从Account
实体访问 a 是没有意义的(从域的角度来看) 。
我敢肯定,如果不了解我的领域,这一切有点难以理解,但我希望这足以获得一些好的反馈。