对象模型中的父子关系

时间:2015-04-10 07:21:36

标签: model domain-driven-design object-model

创建域模型时,是否在子类中引用了父模型? 子对象是否知道谁是他们的父母?

class Parent
{
    public string Id {get;set;}
    public ChildList IList<Child> {get;set;}     
}
class Child 
{
    public string Id {get; set;}
    public string Name {get;set}
    public Parent Father {get; set;} // reference or not parent?
}

2 个答案:

答案 0 :(得分:1)

这取决于你最终需要什么,即你想要对模型做什么。

在两个方向都有参考的优点是,导航性能更好,这可能没有必要。

在两个方向上引用的缺点是,更高的维护工作量,至少如果您自己编写这些类,而不是生成它们。

仅在一个方向上具有依赖性对于某些用例是有意义的。例如。你只知道父母并且想要抓住所有孩子,反之亦然。

答案 1 :(得分:0)

使用YAGNI原则 - 以一种方式进行参考,直到您发现两者都需要它为止。