在许多 ddd 示例中,我们有一个简单的示例:
Order(聚合根 [AR])和 OrderLine(聚合成员 [AM])
+
发票(聚合根 [AR])和 InvoiceLine(聚合成员 [AM])
在该示例中,我们根据订单开具发票,因此它是从一个 AR(发票)到另一个(订单)的直接引用,这显然是正确的。
但是,就我而言,事情要复杂得多:
我们为来自不同订单的许多 OrderLine 开具发票。
因此,在一张 Invoice 上,我们有: InvoiceLine #1 从 Order #1 引用 OrderLine #1,另一个 InvoiceLine #2 引用 OrderLine #2(从另一个 Order #2)
例如,没有从 Order #1 引用 OrderLine#2 的 InvoiceLine。
如何解决这种情况?
似乎我们必须在 InvoiceLine 中保留对 OrderLine 的引用,这是不正确的,afaik。但我没有其他想法:/
在此先感谢您的任何建议。