简述VO(View Object,视图对象)DTO(Data Transfer Object,数据传输对象)PO(Persistent Object,持久化对象)
Posted CodeJiao
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了简述VO(View Object,视图对象)DTO(Data Transfer Object,数据传输对象)PO(Persistent Object,持久化对象)相关的知识,希望对你有一定的参考价值。
1. 简述 VO、DTO、PO
项目中通常有3个模型类,VO(View Object,视图对象)、DTO(Data Transfer Object,数据传输对象)、PO(Persistent Object,持久化对象),VO用在前端与接口层之间传输数据,DTO用于接口层向业务层之间传输数据,PO用于业务层与持久层之间传输数据。
当前端有多个平台且接口存在差异时就需要设置VO对象用于前端和接口层传输数据。
图示:
如果用户要求通过Android和Windows和Pad的查询条件或查询结果不同,此时就需要定义三个Controller查询接口,每个接口定义VO对象与前端传输数据。
- android:需要根据d1,d2查询。
- Windows:需要根据d1,d2,d3查询
- Pad:需要根据d1,d2,d3,d4查询
此时,Service业务层尽量提供一个业务接口,即使三个前端接口需要的数据不一样,Service可以提供一个最全查询结果,由Controller进行数据整合。
如果前端的接口没有多样性且比较固定,此时可以取消VO,只用DTO即可。
图示:
以上是关于简述VO(View Object,视图对象)DTO(Data Transfer Object,数据传输对象)PO(Persistent Object,持久化对象)的主要内容,如果未能解决你的问题,请参考以下文章
Java各种对象(PO,BO,VO,DTO,POJO,DAO,Entity,JavaBean,JavaBeans)的区分
Java各种对象(PO,BO,VO,DTO,POJO,DAO,Entity,JavaBean,JavaBeans)的区分
Java各种对象(PO,BO,VO,DTO,POJO,DAO,Entity,JavaBean,JavaBeans)的区分
Java各种对象(PO,BO,VO,DTO,POJO,DAO,Entity,JavaBean,JavaBeans)的区分