最佳做法是直接更新聚合根的子级,还是仅通过其聚合根更新?例如,这是首选:
Order.UpdateOrderLineQuantity(orderLine, quantity);
或
Order.OrderLines[0].UpdateQuantity(quantity);
本部门的任何指导都将不胜感激。
答案 0 :(得分:2)
聚合根是封装相关子对象的对象,因此您应该使用第一种技术。
与调用者不应该关心订单ID是否存储为整数或字节数组的方式相同,他们不应该关心或知道它是否使用OrderLines
或HideousLegacyObjects
来存储和操作订单的信息。