更新 knowledge.md

This commit is contained in:
oyo
2025-09-03 10:07:07 +08:00
parent f945ec49bb
commit eb2bb0b62f

View File

@@ -302,9 +302,10 @@ meeting_with_room_dto无uuid为待创建DTO。meeting_base_dto和meeting_room
#### **2.7 视图对象 (VO)** #### **2.7 视图对象 (VO)**
- **定义与用途:** VO基于BaseDTO或指定的其他DTO派生通过外键关系关联多个BaseDTO的数据结构。用于视图层与前端数据传输作为HTTP API返回值或读方案返回值。不能作为接口参数或RPC返回值。 - **定义与用途:** VO基于BaseDTO或指定的其他DTO派生通过外键关系关联多个BaseDTO的数据结构。用于视图层与前端数据传输作为HTTP API返回值或读方案返回值。不能作为接口参数或RPC返回值。
- **关键配置:** 名称以Vo结尾全局唯一、根Entity、派生源、字段列表。字段分三种a.继承DTO字段基础类型/EO/Enum保持类型不变DTO类型转为对应VO类型b.扩展字段正向替换和反向注入类型为VO或List<VO>c.自定义字段基本类型或VO类型。可裁剪无用字段可通过外键关系扩展其他BaseDto。无法扩展时可增加自定义字段。 - **关键配置:** 名称以Vo结尾全局唯一、根Entity、所属模块、派生源、字段列表。字段分三种a.继承DTO字段基础类型/EO/Enum保持类型不变DTO类型转为对应VO类型b.扩展字段正向替换和反向注入类型为VO或List<VO>c.自定义字段基本类型或VO类型。可裁剪无用字段可通过外键关系扩展其他BaseDto。无法扩展时可增加自定义字段。
- **继承字段类型转换:** VO只与派生源VO有转换关系。当VO派生自某DTO且继承了派生源DTO中的DTO类型字段假设DTO-A则VO中对应字段类型必须为VO假设VO-A且**VO-A必须派生自DTO-A**,以维持转换关系。 - **继承字段类型转换:** VO只与派生源VO有转换关系。当VO派生自某DTO且继承了派生源DTO中的DTO类型字段假设DTO-A则VO中对应字段类型必须为VO假设VO-A且**VO-A必须派生自DTO-A**,以维持转换关系。
- **与DTO的区别:** DTO用于服务层传输通常作RPC返回值与数据模型更近复用性强VO用于视图层传输通常作API返回值与UI展示更近可裁剪冗余字段复用性弱。 - **与DTO的区别:** DTO用于服务层传输通常作RPC返回值与数据模型更近复用性强VO用于视图层传输通常作API返回值与UI展示更近可裁剪冗余字段复用性弱。
- **VO所属模块:** VO无法被跨模块引用模块A内部的API只能使用模块A内部的VO。VO可以与其派生源DTO不在同一模块meeting模块的API需要返回meeting_room_dto派生出的VO则需要在meeting模块创建派生自meeting_room_dto的VO以便被meeting模块的API使用注意创建VO时传入的moduleName字段,用于指定VO所在的模块。
- **创建方式:** VO通常基于某个BaseDTO及外键关系派生也可直接创建与DTO无关的全自定义字段VO尽量少用仅用于特殊页面组装无关数据的场景 - **创建方式:** VO通常基于某个BaseDTO及外键关系派生也可直接创建与DTO无关的全自定义字段VO尽量少用仅用于特殊页面组装无关数据的场景
- **根VO和子VO:** VO分两种1.根VO最外层VO结构需通过TOCO创建有uuid唯一标识可被其他根VO或子VO引用2.子VO根VO内部嵌套VO通过外键关系关联BaseDTO后自动创建仅附属于一个根VO无uuid。需描述VO字段和扩展关系通过**创建根VO**使TOCO**自动创建**子VO或引用其他根VO。 - **根VO和子VO:** VO分两种1.根VO最外层VO结构需通过TOCO创建有uuid唯一标识可被其他根VO或子VO引用2.子VO根VO内部嵌套VO通过外键关系关联BaseDTO后自动创建仅附属于一个根VO无uuid。需描述VO字段和扩展关系通过**创建根VO**使TOCO**自动创建**子VO或引用其他根VO。
- **字段扩展方式:** 同DTO字段扩展方式通过任意**一个**派生源BaseDTO经外键扩展成复杂嵌套VO。满足条件即可扩展正向替换当前实体有指向其他实体的外键字段反向注入其他实体有指向当前实体的外键字段 - **字段扩展方式:** 同DTO字段扩展方式通过任意**一个**派生源BaseDTO经外键扩展成复杂嵌套VO。满足条件即可扩展正向替换当前实体有指向其他实体的外键字段反向注入其他实体有指向当前实体的外键字段
@@ -382,6 +383,7 @@ meeting_with_room_dto无uuid为待创建DTO。meeting_base_dto和meeting_room
"name": "metting_with_room_vo", "name": "metting_with_room_vo",
"description": "会议详情,包含会议室信息,以及会议室禁用列表", "description": "会议详情,包含会议室信息,以及会议室禁用列表",
"rootVo": "metting_with_room_vo", "rootVo": "metting_with_room_vo",
"moduleName": "meeting",
"fromEntity": "meeting", "fromEntity": "meeting",
"fromDto": "meeting_detail_dto", "fromDto": "meeting_detail_dto",
"fromDtoUuid": "cd55c96b-aa67-bfb2-7614-70b503a8f8bf", "fromDtoUuid": "cd55c96b-aa67-bfb2-7614-70b503a8f8bf",