DDD
Repository 持久层,只定义抽象的持久化方法,具体实现根据具体持久方式来。
Service 业务层,聚合业务,不处理业务
界限上下文:定义领域边界。在统一的领域边界内用统一的语言进行交流。不同领域之间的交流层。
聚合是由业务和逻辑紧密关联的实体和值对象组合而成的,聚合是数据修改和持久化的基本单元,每一个聚合对应一个仓储,实现数据的持久化。
事件风暴:做业务划分,划定领域。
跨多个实体的业务逻辑通过领域服务来实现,跨多个聚合的业务逻辑通过应用服务来实现。
聚合根的主要目的是为了避免由于复杂数据模型缺少统一的业务规则控制,而导致聚合、实体之间数据不一致的问题。
聚合根:就是关联对象,数据库外键的主键,实体的主要类,如用户权限的用户
如果把聚合比作组织,那聚合根就是这个组织的负责人。聚合根也称为根实体,它不仅是实体,还是聚合的管理者。
首先它作为实体本身,拥有实体的属性和业务行为,实现自身的业务逻辑。
其次它作为聚合的管理者,在聚合内部负责协调实体的值对象按照固定的业务规则协同完成共同的业务逻辑。
领域事件:就是业务处理,解耦。通过MQ做解耦操作。如:用户付款后生成的消费记录就可以用领域事件实现。