做web应用的时候你会用到分层部署,或者分布式的部署,此时你会用到各种对象之间的转换和传递。

下面整理一下我再项目中常用到的几个对象:

PO:全称是
persistant object持久对象,离数据库最近的一个封装对象,数据插入或者数据查询后的结果
最形象的理解就是一个PO就是数据库中的一条记录。
好处是可以把一条记录作为一个对象处理,可以方便的转为其它对象。

BO:全称是
business object:业务对象,
主要作用是把业务逻辑封装为一个对象。这个对象可以包括一个或多个其它的对象。
比如一个个人信息,有基本信息、认证信息、教育信息等等。
我们可以把基本信息对应一个PO,认证信息对应一个PO,教育信息对应一个PO。
建立一个对应个人的BO对象处理个人信息业务,每个BO包含这些PO。
这样处理业务逻辑时,我们就可以针对BO去处理。就好比我们的一个业务逻辑设计到很多表的操作

VO :
value object值对象
ViewObject表现层对象
主要对应界面显示的数据对象。对于一个WEB页面,或者restfull接口返回的数据,用一个VO对象对应整个界面的值。一个vo可以包含很多po对象的整合值。

POJO :
plain ordinary java object 简单java对象
个人感觉POJO是最常见最多变的对象,是一个中间对象,也是我们最常打交道的对象。

一个POJO持久化以后就是PO
直接用它传递、传递过程中就是DTO
直接用来对应表示层就是VO。如果你想偷懒,并且是单项目,一个pojo就可以搞定所有。

随着业务的发展及分布式技术的使用,你就要区分开来很多对象