【发布时间】:2012-10-11 14:07:45
【问题描述】:
假设我的模型由两个聚合根 Customer 和 Order 以及一个“共享”实体 Address 组成。
还要注意Address 是abstract 具有以下子类:PhysicalAddress、PostOfficeBoxAddress 和PrivateBagAddress。
Customer 可以将许多地址组织成某种地址簿。
下订单后,客户会从他们的地址簿中选择一个Address 作为送货地址。
我最初的想法是在两个实体之间共享一个地址,但后来我选择了退出,因为这会给管理各自的不变量带来麻烦。
我可以选择的另一个选择是创建两个 Address 层次结构,每个层次结构都用作客户地址或送货地址。这又似乎不对,因为有很多重复的代码。
我将如何正确地模拟这种情况?
【问题讨论】:
标签: language-agnostic domain-driven-design entity aggregate aggregateroot