首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在DDD中使用聚合

在DDD中使用聚合
EN

Stack Overflow用户
提问于 2010-10-13 17:09:40
回答 1查看 278关注 0票数 1

正在寻找有关使用聚合根的一些说明。

如果我有一个模型(试卷),如下所示;

试卷->问题->答案

并且我已经确定试卷是一个聚合根,如果我想为一个问题选择答案,我是必须在聚合根上放置一个公共方法,还是可以从根公开问题并将一个公共方法放在PAPER对象上以选择答案??

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-10-17 08:06:43

通常,您总是希望与聚合根进行对话。如果你正在读取值,那么有时在聚合根中添加公共访问器是很方便的,但它很快就会变得丑陋( Demeter定律,破坏抽象等),我建议你不要这么做。

然而,对于任何改变状态的东西,关键的一点是你总是通过聚合根。聚合根代表一致性边界(即,它直接或间接地负责将事物保持在有效状态),如果您允许状态更改,则完全绕过了这一点,从而为不断增加的复杂性打开了大门。

因此,这取决于你在问题中“选择”是什么意思--如果你是在查询,那么你可以逃脱惩罚,但这不是一个好主意。如果您正在更改状态,请不要这样做,否则您的聚合根不再是聚合根。

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

https://stackoverflow.com/questions/3922176

复制
相关文章

相似问题

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