1

我正在为一些分类的 c#-projects 构建一个自定义的通用域模型。我现在正在努力解决的问题是模型结构的选择。我要么用父母、孩子、祖先等做一个分层模型,要么做一个更扁平的图形结构。对于分层,我的意思是我可以在哪里编写 Entity.Parent 并在我有链接而不是关系的地方获取父级和图形。

做一个平面图要简单得多,也不容易出错。例如,您可以以某种随机顺序一次加载单个实体,而无需将它们组装成正确的结构。

但是分层域的概念也很有吸引力。它的结构和组织得很好。分层域的一大好处是您可以从父级或祖先那里继承属性。例如,您可以将删除状态继承到后代中。有一个平面图这不会那么容易。此外,这需要始终为所有实体加载所有祖先,这当然是不利的一面。

所以我的问题是分层域还有哪些其他好处?除了从祖先那里继承属性并可能在图表中传递消息之外,我想不出任何其他办法。例如,如果一个实体想要对后代实体的变化做出反应。还有什么好处吗?我不确定我是否真的需要上述内容,所以如果没有更多的好处,我想我还是会选择扁平结构,因为它使用起来要简单得多。

4

1 回答 1

0

由于您标记了 DDD,我会问给定域的聚合根是什么,然后让您做出决定。

于 2012-07-17T16:58:45.970 回答