【发布时间】:2011-10-08 16:20:56
【问题描述】:
简而言之,我的域允许用户提交故事(关于一个人或一组人),其中包含许多不同的状态和它可以处于的转换以及在这些状态期间允许哪些行为。
因此,在设计的这种状态下,用户正在创建草稿并提交他们的故事。我的域包含故事、团队和团队成员。
我的第一个问题是谁负责加载完整的聚合?应用层是否应该根据手头的任务指定这一点?他是否应该真的知道需要加载哪些数据?还是应该属于总是急切加载相关数据的存储库?也许使用延迟加载(透明度可能有点吓人)?
对于我的下一个任务,我需要允许将 cmets 添加到故事中,并在用户查看故事时创建记录。这是否属于聚合,因为它们没有故事就没有意义?这是我的困惑。如果它们确实属于聚合,我将不得不在添加评论或仅添加已查看的记录时加载整个聚合?
任何帮助都会很棒,如您所见,我是 DDD 的新手。
谢谢!
【问题讨论】:
-
Marco,两个问题:你的持久化技术是什么? “加载完整的聚合”是什么意思?
-
我首先使用实体框架代码。通过加载完整的聚合,我的意思是当我向存储库询问故事时,它是否应该加载完整的聚合,如团队、团队成员、评论、故事视图等。
标签: .net architecture domain-driven-design dns ddd-repositories