工程结构分层-数据模型
2021-11-24 14:27:05 0 举报
AI智能生成
IT技能目录框架
作者其他创作
大纲/内容
DataType
VO(View Object):视图对象
用途
用于展示层(Controller)中web交互的入参出参的封装,将指定页面或RESTfulAPI的数据进行封装
场景
请求参数的封装:表单请求或Web请求中ResultAPI入参的封装;
返回参数的封装:整理友好的数据类型、数据组织形式提供至Web
To
DTO
封装RPC
BO
转换请求VO为BO
PO、DO
(如果Do存在的话);例:单表的插入和更新;
From
DTO
封装RPC
BO
例:复杂的数据返回格式
PO、DO
(如果Do存在的话);例:简单的单表查询;
命名格式
入参:[Domain][Operate]Vo
出参:[Domain][Scene]Vo
DTO(Data Transfer Object):数据传输对象
用途
分布式服务之间数据传输的粗粒度单位,个人理解也是经常用来的定位
泛义可以描述为展示层与服务层之间的传输对象
场景
请求参数的封装:RPC调用的入参封装
返回参数的封装:RPC返回结果的封装
To
VO
BO
PO、DO
From
VO
BO
PO、DO
命名格式
入参:[Domain][Operate]ParaDto
出参:[Domain][Scene]Dto
BO(Business Object):业务对象
用途
分布式服务之间数据传输的粗粒度单位,个人理解也是经常用来的定位
泛义可以描述为展示层与服务层之间的传输对象
场景
请求参数的封装:RPC调用的入参封装
返回参数的封装:RPC返回结果的封装
To
VO
DTO
PO、DO
From
VO
DTO
PO、DO
命名格式
入参:[Domain][Operate]ParaDto
出参:[Domain][Scene]Dto
DO(Domain Object):领域模型对象
PO(Persistent Object):持久化对象
其它
话题
为什么存在分层领域模型
明确各层职能范围,明确依赖关系
控制变化影响范围:在发生变化时在上层即可解决,不影响底层;
拥抱变化:在发生变化时能快速应对;
[Scene]
[List | Detail | ...]
remark
[Operate]
[Find | Create | Delete | Update | UpdateStatus | ...]
[Scene]
[List | Detail | ...]
自由主题
0 条评论
下一页