DDD大型骨料
本文关键字:大型 DDD | 更新日期: 2023-09-27 18:06:06
我有一个Appointment
聚合根,为了使聚合在业务方面有效,它必须引用大量其他聚合,这些聚合会显著增加大小;Client
、Employee
、Service
、开始/结束日期和时间。
Appointment
是从web服务中重新水合的,每次我想获得一个约会列表,甚至只是一个约会时,获取所有这些信息似乎是不切实际的。
我一定做错了,Client
、Employee
和Service
本身就是具有类似存储库接口的聚合根,因为它们都可以自己存在。
只将聚合的IIdentity
保留在Appointment
聚合根中,并在需要时单独加载它们(例如ClientId
、EmployeeId
、ServiceId
(,这是一个想法吗?
我发现这是我第一次涉足DDD时非常常见的问题。
感谢您的帮助
聚合的规则是,属于聚合的任何内容都不能从聚合根外部访问。将Client
、Employee
和Service
作为聚合的一部分,就违反了这个规则。
最好只是对这些实体有一个Id,并分解你的聚合,这样它们就不会相互干扰。