首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >域驱动设计和聚合引用

域驱动设计和聚合引用
EN

Stack Overflow用户
提问于 2012-07-24 21:06:24
回答 1查看 241关注 0票数 3

我正在设计域模型,但有些地方似乎不太对劲。

我从一个主要的聚合开始。它引用了其他聚合,这些其他聚合也引用了更多聚合。我可以从主聚合开始遍历空域模型。

我看到的问题是,我将在内存中保存聚合的所有实例。

这是一个好的设计吗?我可以用延迟加载解决内存问题,但我认为我有一个更深层次的问题。

我还有一个关于聚合引用的问题。我应该懒惰地加载对其他聚合的引用吗?如果是这样的话,我几乎永远不会使用他们的存储库。这样可以吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-07-25 02:58:38

在聚合根(AR)之间进行直接引用可能会导致延迟加载无法解决的问题。此外,它迫使所有连接的AR都在同一个数据库中,并使推理和实施不变量变得更加困难,而不变量是AR的首要目的。最好限制或消除AR之间的直接引用。学习聚合设计的一个很好的资源是Vaughn Vernonseries of articles。基本的想法是让你的ARs变得精简和专注,同时牢记它们的功能--执行业务约束并围绕根实体打造一个边界。如果AR需要来自另一个AR的数据来执行其工作,则该数据可以由应用服务通过存储库提供给它。此外,如果只需要引用来满足UI需求,那么可以考虑使用read-model pattern

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11631524

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档