【项目】DTO、VO以及PO之间的关系和区别
文章目录
- 【项目】DTO、VO以及PO之间的关系和区别
- 1.概念
- 2. 作用
1.概念
DTO:DTO是 Data Transfer Object
的缩写,也叫数据传输对象。
PO:PO是 Persistent Object
的缩写,也叫持久化对象。
VO:VO是 View Object
的缩写,也叫视图对象。
2. 作用
DTO:dto用于接口层向业务层之间传输数据。
PO:po用于业务层与持久层之间传输数据。
VO:vo用于前端与接口层之间传输数据。
如下图所示:
当前端有多个平台,且接口存在差异时就需要设置VO对象用于前端和接口层传输数据。
比如:
查询课程列表接口,PC端和移动端是否共用一个接口呢?
如果它们俩共用一个接口,那就可以不需要使用VO对象,仅使用一个DTO对象再接口层和业务层传输数据即可。
如果它们俩的查询条件或查询接口不一样,那么此时对于课程列表接口就需要分别定义PC端接口和移动端接口,每个接口定义的VO对象以查询参数而定。
移动端查询:根据课程状态查询,查询结果只有课程名称和课程状态。
PC端查询:可以根据课程名称、课程状态、课程审核状态等条件查询,查询结果也比手机查询结果内容多。
此时,Service业务尽量提供一个业务接口,即使两个前端接口需要的数据不一样,Service可以提供一个最全查询结果,有Controller进行整合后返回前端。
如下图所示: