域驱动设计 – 域驱动设计中的聚合根复杂度
发布时间:2020-12-14 04:54:00 所属栏目:百科 来源:网络整理
导读:人们在聚合的复杂性中划清界线的位置在哪里?为了澄清,如果我的聚合有一个ObjectA列表,它有一个ObjectB列表,它有一个ObjectC列表,我的聚合应该负责检索ObjectC吗?或者我应该考虑创建另一个聚合来将这种复杂性降低到层次结构中的几个级别? 解决方法 在大多
人们在聚合的复杂性中划清界线的位置在哪里?为了澄清,如果我的聚合有一个ObjectA列表,它有一个ObjectB列表,它有一个ObjectC列表,我的聚合应该负责检索ObjectC吗?或者我应该考虑创建另一个聚合来将这种复杂性降低到层次结构中的几个级别?
解决方法
在大多数情况下,Aggregate的边界应该是模型所需的一致性边界.这意味着如果对ObjectA或B或C的更改需要彼此一致,那么它们可能属于同一个Aggregate.
应通过识别域中的所有概念并在涉及的实体/ VO之间拆分行为来处理复杂性(业务逻辑复杂性). 检索复杂性(基础架构复杂性)的对象应由基础架构处理,而不是由聚合处理. 在结论模型中,您根据您的域和您的一致性边界进行AR,而不是为了促进基础设施问题. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |