gpt4 book ai didi

domain-driven-design - 如何在 DDD 中建模递归关系

转载 作者:行者123 更新时间:2023-12-04 18:22:18 27 4
gpt4 key购买 nike

如何在 DDD 域模型中对层次关系进行建模?在我的应用程序中,我有一个组织实体,组织可以有部门,而部门又可以有子部门。嵌套深度是任意的。我应该如何设计我的实体和存储库?

最佳答案

一个简单的模型可能类似于:

public class Organization : Division 
{
public Organization(string name)
: base(name)
{
}
}

public class Division
{
public Division(string name, Division parent = null)
{
this.Name = name;
this.Parent = parent;
}
public string Name { get; private set; }
public Division Parent { get; private set; }
public ICollection<Division> Divisions { get; private set; }
public Division AddDivision(string name)
{
var division = new Division(name, this);
this.Divisions.Add(division);
return division;
}
}

根据具体需求,还有其他方法。如果使用诸如 NHibernate 之类的 ORM 来实现存储库,请查看 this了解如何存储和查询层次关系。

关于domain-driven-design - 如何在 DDD 中建模递归关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10397475/

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