
核心梳理
1. 模式:AGGREGATE(聚合)
定义:一组相关对象的集合,被当作数据修改的单元。它定义了一个边界(包含哪些对象)和一个根(一个特定的实体,所有外部访问都必须通过根)。 核心作用:维护固定规则。在每次事务完成后,聚合内部的所有对象作为一个整体必须满足这些规则。例如,"Purchase Order"及其"Line Item"对象组成一个聚合,提交订单时,所有"Line Item"的总金额必须与订单总额一致。
根实体具有全局标识。 边界内的实体具有本地标识(仅在聚合内部唯一)。 外部对象只能通过根来引用内部对象。 只有根才能被数据库直接查询,其他对象需要通过遍历关联来发现。 删除聚合时,必须删除其边界内的所有对象。 每次事务提交时,整个聚合的所有固定规则都必须被满足。
2. 模式:FACTORY(工厂)
3. 模式:REPOSITORY(存储库)
定义:一个对象,为需要全局访问的根实体(或聚合)提供检索和持久化的接口,其行为就像一个内存中的集合。 核心作用:封装持久化机制。客户端可以使用简单的查询方法(如 "findById()" )来获取对象,而无需知道底层是关系数据库、文件系统还是其他存储方式。它解除了客户端与基础设施的耦合。
项目使用时的指导原则
1. 将“聚合”作为事务一致性的边界
2. 使用工厂封装复杂的创建逻辑
3. 存储库只用于聚合根,并解耦技术细节

夜雨聆风