一:POJO(Plain Old Java Object)
POJO 可认为是 DO/DTO/BO/VO 的统称,禁止命名成 xxxPOJO。
二:VO(View Object)
视图对象,用于展示层,用于在Web页面上展示
VO通常用于前端和服务端Controller交互。
三:PO(Persistent Object)
持久化对象,它跟持久层(通常是关系型数据库)的数据结构形成一一对应的映射关系,如果持久层是关系型数据库,那么,数据表中的每个字段(或若干个)就对应PO的一个(或若干个)属性。
PO就是数据库中的记录,一个PO的数据结构对应着库中表的结构,表中的一条记录就是一个PO对象
通常PO里面除了get,set之外没有别的方法。
对于PO来说,数量是相对固定的,一定不会超过数据库表的数量
四:DTO(Data Transfer Object)数据传输对象
数据传输对象,这个概念来源于J2EE的设计模式,原来的目的是为了EJB的分布式应用提供粗粒度的数据实体,以减少分布式调用的次数,从而提高分布式调用的性能和降低网络负载,但在这里,我泛指用于展示层与服务层之间的数据传输对象。
DTO通常用于Controller和Service交互。
VO和DTO的区别
主要有两个区别
- 一个是字段不一样,VO根据需要会删减一些字段。
- 另一个是值不一样,VO会根据需要对DTO中的值进行展示业务的解释。
参考:
浅析VO、DTO、DO、PO、POJO区别_骑个小蜗牛的博客-优快云博客_pojo vo dto