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