【发布时间】:2014-12-06 07:43:45
【问题描述】:
我有一个作为实体的单元类(聚合根),并且这个类必须引用省和市。我将省和市放在一个名为 Region (Aggregate Root) 的类中,这个类也是实体。每个省都有自己的城市,它们的名称和关系是永久的,不能更改。
所以到目前为止,我有 两个聚合根,即 Unit 和 Region。但是在单元中我需要参考省和市,但在 DDD 术语中我只能参考我的聚合的根,在这种情况下它是省,我不能参考省的孩子!
如何解决这个问题,如何从单位到省市进行参考?
【问题讨论】:
-
Province和City应该是聚合根。你为什么将它们与Region聚集在一起? -
Tnx @plalx 为您的回复,但城市本身没有任何意义,我的意思是城市是省的孩子,它不能单独存在。在伊朗,我们有省,然后是城市。
-
如果它没有意义,你为什么要把这个概念与
Province以外的东西联系起来?是什么让你觉得它本身没有意义?一个城市通过身份引用它的Region并拥有它自己的身份。聚合是关于事务边界和不变量执行的。您想通过在Region中收集城市来解决什么问题? -
在 DDD 中,您不会仅仅因为您有“地区有城市”之类的语句而将事物聚集在一起。
-
谢谢@plalx,在你的帮助下我发现我的假设是错误的。