在許多DDD例子中,我們有一個簡單的:如何避免在另一個非根集合中持有對非根集合的引用?
訂單(聚合根[AR]) 和 訂單行(聚集構件[AM])
+
發票(聚合根[AR] ) 和 InvoiceLine(聚集構件[AM])
在該例子中,我們就發出訂單的發票所以它是從一個AR(發票)到另一個(訂單直接參考),它顯然是正確的。
然而,在我的情況下,事情比較複雜:
出具從不同的訂單很多OrderLines發票。
所以對一個發票,我們有: InvoiceLine#1引用到訂單行#1從訂單#1, 另一InvoiceLine#2引用到訂單行#2(從另一個訂單#2)
,並且對於例如,沒有InvoiceLine引用訂單#1中的OrderLine#2。
如何解決這種情況?
看來我們必須在InvoiceLine中引用OrderLine,這是不正確的,afaik。但我沒有其他想法:/
在此先感謝您的任何建議。
哎喲,你完全正確,對我感到羞恥......謝謝! – drep