gpt4 book ai didi

c# - 聚合根

转载 作者:太空宇宙 更新时间:2023-11-03 17:18:10 24 4
gpt4 key购买 nike

考虑以下结构:Customer->Orders->OrderLines->Quantity,Customer 是聚合根。

假设我们要更改一个 OrderLine 的数量,我们该怎么做?客户会有这样的方法吗:

public ChangeQuantity(Order order, OrderLine orderLine, int quantity)
{
order.OrderLines.First(...).Quantity = quantity;
}

或者实现将是:

public ChangeQuantity(Order order, OrderLine orderLine, int quantity)
{
order.ChangeQuantity(orderLine, quantity);
}

最佳答案

您不需要通过根对象访问非根对象的所有访问权限。

您只需要将根对象作为一致性和持久性边界即可。

所以没有理由使用任何一种方法,因为您的用户可以直接转到订单行对象:

OrderLine.Quantity = 5;

客户是聚合根这一事实仅仅意味着没有办法,例如,在不将整个客户提交到数据库的情况下将此更改提交到数据库。

关于c# - 聚合根,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9416212/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com