更新 knowledge.md
This commit is contained in:
@@ -122,21 +122,22 @@
|
|||||||
- **与其他元素关系:** 聚合是写方案的基础。
|
- **与其他元素关系:** 聚合是写方案的基础。
|
||||||
- **代码产物和修改建议**
|
- **代码产物和修改建议**
|
||||||
- 综述
|
- 综述
|
||||||
- 业务对象包含多个Entity,通过嵌套组合表达Entity关系。有子对象时生成BO和BaseBO,BaseBO封装实体属性和关系,BO用于业务扩展。无子对象时只生成BO类。
|
- 业务对象包含多个Entity,通过嵌套组合表达Entity关系。有子对象时生成BO和BaseBO,BaseBO封装实体属性和关系,BO用于业务扩展。无子对象时只生成BO类。
|
||||||
- BO
|
- BO
|
||||||
* **生成产物**:Manager层生成聚合对象类,符合Hibernate标准
|
* **生成产物**:Manager层生成聚合对象类,符合Hibernate标准
|
||||||
* **职责:** 定义聚合对象,组合成层级结构实现充血模型,支持写链路数据变更、监听变更、数据校验
|
* **职责:** 定义聚合对象,组合成层级结构实现充血模型,支持写链路数据变更、监听变更、数据校验
|
||||||
* **命名规则**:${entityName}BO
|
* **命名规则**:${entityName}BO
|
||||||
* **类路径:** `**.manager.bo`包下
|
* **类路径:** `**.manager.bo`包下
|
||||||
* **唯一标识符位置:** 类注解@AutoGenerated中,uuid规则: ${Entity的uuid}|BO|DEFINITION
|
* **唯一标识符位置:** 类注解@AutoGenerated中,uuid规则: ${Entity的uuid}|BO|DEFINITION
|
||||||
- **修改建议:** 建议修改BO中的validateAggregate或valid方法进行业务不变性校验。不建议修改校验方法以外的代码。校验方法由框架自动调用,不需要业务代码显式调用。
|
* **聚合校验:** BO中包含一个validateAggregate(聚合根BO)或valid(非聚合根BO)方法,用来编写用于验证业务不变性相关的聚合校验代码。在通过聚合对象操作数据库时,TOCO会在框架中自动生成对validateAggregate方法的调用,所以禁止在业务代码显式调用,以免造成重复校验。
|
||||||
|
* **修改建议:** 建议修改BO中的validateAggregate或valid方法进行业务不变性校验。不建议修改校验方法以外的代码。校验方法由框架自动调用,不需要业务代码显式调用。
|
||||||
- BaseBO
|
- BaseBO
|
||||||
* **生成产物**:存在子BO时生成,封装不变代码部分
|
* **生成产物**:存在子BO时生成,封装不变代码部分
|
||||||
* **职责:** 定义聚合对象,组合成层级结构实现充血模型,支持写链路数据变更、监听变更、数据校验
|
* **职责:** 定义聚合对象,组合成层级结构实现充血模型,支持写链路数据变更、监听变更、数据校验
|
||||||
* **命名规则**:${entityName}BO
|
* **命名规则**:${entityName}BO
|
||||||
* **类路径:** `**.manager.bo`包下
|
* **类路径:** `**.manager.bo`包下
|
||||||
* **唯一标识符位置:** 类注解@AutoGenerated中,uuid规则: ${Entity的uuid}|BO|DEFINITION
|
* **唯一标识符位置:** 类注解@AutoGenerated中,uuid规则: ${Entity的uuid}|BO|DEFINITION
|
||||||
- **修改建议:** 建议修改BO中的validateAggregate或valid方法进行业务不变性校验。不建议修改校验方法以外的代码。
|
* **修改建议:** 建议修改BO中的validateAggregate或valid方法进行业务不变性校验。不建议修改校验方法以外的代码。
|
||||||
|
|
||||||
#### **2.6 数据传输对象 (DTO)**
|
#### **2.6 数据传输对象 (DTO)**
|
||||||
- **定义与用途:** DTO基于某个Entity构建,通过外键关系关联多个Entity的数据结构。DTO隐含数据组装逻辑,符合外键关系。分为BaseDTO和普通DTO:BaseDTO直接派生自Entity,包含Entity所有字段,每个Entity只有一个BaseDTO;普通DTO基于BaseDTO创建,包含BaseDTO所有字段,可增加扩展字段或自定义字段。DTO不能作为接口参数,不能作为HTTP API返回值。
|
- **定义与用途:** DTO基于某个Entity构建,通过外键关系关联多个Entity的数据结构。DTO隐含数据组装逻辑,符合外键关系。分为BaseDTO和普通DTO:BaseDTO直接派生自Entity,包含Entity所有字段,每个Entity只有一个BaseDTO;普通DTO基于BaseDTO创建,包含BaseDTO所有字段,可增加扩展字段或自定义字段。DTO不能作为接口参数,不能作为HTTP API返回值。
|
||||||
|
|||||||
Reference in New Issue
Block a user