考虑一下我的模型,它由两个聚合根Customer
和Order
一个“共享”实体组成Address
。
另请注意,Address
它abstract
具有以下子类PhysicalAddress
:PostOfficeBoxAddress
和PrivateBagAddress
。
ACustomer
可以将许多地址组织成某种地址簿。下订单后,客户Address
将从他们的地址簿中选择一个用作送货地址。
我最初的想法是在两个实体之间共享一个地址,但后来我选择了退出,因为这会给管理各自的不变量带来麻烦。
我可以选择的另一个选择是创建两个层次结构Address
,每个层次结构都用作客户地址或送货地址。这似乎也不对,因为有很多重复的代码。
我将如何正确地模拟这种情况?