作web应用的时候你会用到分层部署,或者分布式的部署,此时你会用到各类对象之间的转换和传递。java
下面整理一下我再项目中经常使用到的几个对象: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就能够搞定全部。restful
随着业务的发展及分布式技术的使用,你就要区分开来不少对象分布式