1
直接更新聚合根子項的子代還是僅通過聚合根目錄來更新子代的最佳做法?例如,這是優選的:將域邏輯更新爲聚合根子項的適當位置在哪裏?
Order.UpdateOrderLineQuantity(orderLine, quantity);
或
Order.OrderLines[0].UpdateQuantity(quantity);
在這個部門任何指導,將不勝感激。
直接更新聚合根子項的子代還是僅通過聚合根目錄來更新子代的最佳做法?例如,這是優選的:將域邏輯更新爲聚合根子項的適當位置在哪裏?
Order.UpdateOrderLineQuantity(orderLine, quantity);
或
Order.OrderLines[0].UpdateQuantity(quantity);
在這個部門任何指導,將不勝感激。
聚合根是一個封裝相關子對象的對象,因此您應該使用第一種技術。
以同樣的方式,如果訂單ID存儲爲整數或字節數組,它們不應該關心或知道它是使用OrderLines
還是HideousLegacyObjects
來存儲和處理訂單詳細信息。
這對添加是有意義的,但我主要關注已經是訂單一部分的行。讓訂單處理更新更好嗎? – Jason 2011-01-24 19:52:43