域驱动设计 – 域驱动设计中的聚合根复杂度

前端之家收集整理的这篇文章主要介绍了域驱动设计 – 域驱动设计中的聚合根复杂度前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
人们在聚合的复杂性中划清界线的位置在哪里?为了澄清,如果我的聚合有一个ObjectA列表,它有一个ObjectB列表,它有一个ObjectC列表,我的聚合应该负责检索ObjectC吗?或者我应该考虑创建另一个聚合来将这种复杂性降低到层次结构中的几个级别?

解决方法

在大多数情况下,Aggregate的边界应该是模型所需的一致性边界.这意味着如果对ObjectA或B或C的更改需要彼此一致,那么它们可能属于同一个Aggregate.

应通过识别域中的所有概念并在涉及的实体/ VO之间拆分行为来处理复杂性(业务逻辑复杂性).

检索复杂性(基础架构复杂性)的对象应由基础架构处理,而不是由聚合处理.

在结论模型中,您根据您的域和您的一致性边界进行AR,而不是为了促进基础设施问题.

猜你在找的设计模式相关文章