简述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对象用于前端和接口层传输数据。

图示:

如果用户要求通过AndroidWindowsPad的查询条件或查询结果不同此时就需要定义三个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,持久化对象)的主要内容,如果未能解决你的问题,请参考以下文章

为什么使用VO,DTO,BO

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)的区分

JavaBean,POJO,VO,DTO的区别和联系