知识卡片
聚合不应依赖南向网关端口,协作交由领域服务
内容
聚合应是不依赖外部环境的稳定单元。若领域行为需访问外部资源(资源库或客户端端口),不能让聚合持有端口——否则资源库重建聚合时无法注入端口、陷入对象循环创建怪圈。此协作职责由无状态的领域服务承担。
参考来源
- 位置:《解构领域驱动设计》15.6.3(源文件:_epub-src/OEBPS/027.xhtml)
- 结论依据:确立“聚合不引入端口依赖”的设计原则及其理由。
- 原始内容:在资源库负责管理聚合生命周期的大前提下,聚合依赖资源库端口的做法并不可行……领域服务就不存在这一问题,原因在于它是无状态的领域模型对象……由此可以确定聚合设计的一条原则:不要在聚合内部引入对南向网关端口的依赖。