解决方法
您通常会将此封装在Aggregate对其合同公开的命令中.
例如,使用Order Aggregate,您可以使用从GUI获取的数据添加OrderLines.
// This is the Order Aggregate Root public class Order { private readonly int id; private readonly Customer customer; // Customer is another Aggregate private readonly IList<OrderLine> orderLines; private readonly IOrderLineFactory orderLineFactory; public Order(int id,Customer customer,IOrderLineFactory orderLineFactory) { this.id = id; this.customer = customer; this.orderLines = new List<OrderLine>(); this.orderLineFactory = orderLineFactory; } public void AddOrderLine(Item item,int quantity) { OrderLine orderLine = orderLineFactory.Create(this,item,quantity); orderLines.Add(orderLine); } }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。