聚合 (Aggregate)
什么是聚合
CleanDDD 中,聚合是最小的业务内聚模型单元,聚合之间相互独立,从而实现也业务边界的隔离。 聚合由聚合根、子实体和值对象组合而成,其中聚合根是聚合的根部实体,子实体和值对象是按需可选的,作为聚合根的属性存在。
设计原则
- 一个聚合必须有且只有一个聚合根
- 聚合之间不允许直接相互引用
- 聚合之间不共享实体,即不允许通过子实体对象引用其他聚合
- 聚合内的对象只能通过聚合根或者其子实体的方法进行修改
聚合的主要职责
- 负责相关业务的数据信息呈现(查询数据来源)
- 负责基于业务规则对数据进行操作(行为)
- 负责聚合内数据的一致性保障