gpt4 book ai didi

c# - DDD 元素 : Aggregates in c#

转载 作者:行者123 更新时间:2023-11-30 19:34:11 24 4
gpt4 key购买 nike

在分析领域对象的生命周期时,聚合是对象分组的基本要素。我在 C# 中实现聚合时遇到问题。

一个带有几个类的简短示例会很有帮助。或者关于这个主题的任何链接。

最佳答案

class Order {
public int OrderNumber { get; private set; }
public Address ShippingAddress { get; private set; }
public Address BillingAddress { get; private set; }
private readonly IList<OrderLine> OrderLines { get; private set; }
public void AddItem(Item item, int quantity) {
OrderLine orderLine = new OrderLine(item, quantity);
OrderLines.Add(orderLine);
}
// constructor etc.
}

class OrderLine {
public Item Item { get; private set; }
public int Quantity { get; private set; }
public OrderLine(Item item, int quantity) {
Item = item;
Quantity = quantity;
}
}

在任何情况下,涉及 OrderLine 的逻辑都不应暴露在 Order 实例之外。这就是聚合根的意义所在。

有关 .NET 特定引用,请参阅 Applying Domain-Driven Design and Patterns: With Examples in C# and .NET .当然,这里的标准引用是Domain Driven Design: Tackling Complexity in the Heart of Software . MSDN 上有一篇好文章也是。

关于c# - DDD 元素 : Aggregates in c#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2023420/

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