我已经开始使用领域驱动的设计原则,但目前遇到了一个特定的问题。
我有一个聚合,它有多层嵌套子实体,如下所示:
public class Aggregate: Entity<AggregateId>, IAggregateRoot {
private readonly List<ChildOne> childOnes;
}
public class ChildOne: Entity<ChildOneId> {
public string ChildOneValue1;
public string ChildOneValue2;
我80%确定我不应该问这个问题,因为它可能会被认为是负面的,我并不是不尊重任何人,特别是这本书的作者。我已经看到一些推荐这个和它的伙伴的帖子。我没有读过这本书,但我今天花了几个小时研究这个项目。虽然它看起来确实很完整,但我很难弄清楚各种东西的细节有多分散。我在自己的设计中苦苦挣扎,如果一个实体发生变化,我必须做出多少改变,而这个项目并不能让我很舒服地作为一个解决方案。
例如,有一个从Person继承的Employee对象。Person有一个包含名字、姓氏等的构造函数,因此Employee也是如此。Private to Employee是名字、姓氏以及相同的公共属性的成员。
有一个Employe
我有两个聚合体Blog和Post,具有一对多的关系(Blog与几个Post相关)。根据领域驱动的设计最佳实践,我不确定Blog是否应该保存Post引用的集合:
public class Blog : Entity<BlogId>, IAggregateRoot
{
IEnumerable<Post> posts;
}
当Post也通过BlogId具有间接id引用时
public class Post : Entity<PostId>, IAggregateRoot
{
BlogId BlogId;
}
如果需要更多的上下文来回答这个问题,请告
我有一个关于领域驱动设计的一般性问题。在我的代码中,我的数据库表模式与它的域对象不一样。
让我给出方案
Database table -
EmployeeDepartment table has columns
1. DepartmentKey - (Integer Type)
2. DepartmentName - (Varchar)
3. FacilityName - (Varchar)
The C# domain class for it has the following
1. Key (Integer)
2. DepartmentName (String)
3. Facilit