假设我们的系统有两个域:Orderdomain和Customerdomain。
这两个域都相当复杂和庞大,因此将它们合并为一个域不是一个选择。
但它们之间存在业务关系。每个订单都由客户作为订购者。
我至少在脑海中有三种解决方案。
1. 在订单和客户上将customerId存储为原始类型。 2. 创建两个值对象OrderDomain.CustomerId和CustomerDomain.CustomerId。确保这些类型可以进行相等比较。 3. 创建一个名为"SharedValueObjects"的第三个组件,其中包含一个值对象CustomerId,并在两个域中使用该类型。
哪一种更好或者你能提出更好的第四种方法吗?
这两个域都相当复杂和庞大,因此将它们合并为一个域不是一个选择。
但它们之间存在业务关系。每个订单都由客户作为订购者。
我至少在脑海中有三种解决方案。
1. 在订单和客户上将customerId存储为原始类型。 2. 创建两个值对象OrderDomain.CustomerId和CustomerDomain.CustomerId。确保这些类型可以进行相等比较。 3. 创建一个名为"SharedValueObjects"的第三个组件,其中包含一个值对象CustomerId,并在两个域中使用该类型。
哪一种更好或者你能提出更好的第四种方法吗?