我应该将列表作为 MyProduct 聚合的一部分还是应该作为聚合根。
如果我将它作为 MyProduct 聚合的一部分,那么我将失去独立于 MyProduct 持久化列表的能力。另一方面,我不明白如何在没有 MyProduct 的情况下拥有一个列表,因此应该是 MyProduct 聚合的一部分。
ebay 和 amazon 列表应该是一个值对象或实体。
我应该将列表作为 MyProduct 聚合的一部分还是应该作为聚合根。
如果我将它作为 MyProduct 聚合的一部分,那么我将失去独立于 MyProduct 持久化列表的能力。另一方面,我不明白如何在没有 MyProduct 的情况下拥有一个列表,因此应该是 MyProduct 聚合的一部分。
ebay 和 amazon 列表应该是一个值对象或实体。
根据我在电子商务产品目录方面的经验,例如,每个产品通常有多个列表来表示产品变体。最终,listing 和相应的产品都应该是聚合的。这并不意味着您不能强制要求列表必须与产品相关联。这仅意味着您将使用标识引用来表达关系,而不是直接的对象引用。列表上的行为通常独立于相应产品上的行为。如果存在依赖关系,它可以以最终一致的方式传播。
查看有效的聚合设计以了解更多信息。