magicboylinw 的 Java 编程世界

Hello,java!

导航

PO BO VO DTO POJO


这些 Object 的指导思想是“分层(持久层,业务层,视图层等)”概念


PO

Persistant   Object

最形象的理解就是一个PO就是数据库中的一条记录
好处是可以把一条记录作为一个对象处理,可以方便的转为其它对象

 

BO
Business  Object

主要作用是把业务逻辑封装为一个对象。这个对象可以包括一个或多个其它的对象
比如一个简历,有教育经历、工作经历、社会关系等等
我们可以把教育经历对应一个PO,工作经历对应一个PO,社会关系对应一个PO
建立一个对应简历的BO对象处理简历,每个BO包含这些PO
这样处理业务逻辑时,我们就可以针对BO去处理

 

VO 
Value   Object
View     Object

主要对应界面显示的数据对象。对于一个WEB页面,或者SWT、SWING的一个界面,用一个VO对象对应整个界面的值

 

DTO 
Data  Transfer  Object

主要用于远程调用等需要大量传输对象的地方
比如我们一张表有100个字段,那么对应的PO就有100个属性
但是我们界面上只要显示10个字段
客户端用WEB service来获取数据,没有必要把整个PO对象传递到客户端
这时我们就可以用只有这10个属性的DTO来传递结果到客户端,这样也不会暴露服务端表结构.到达客户端以后,如果用这个对象来对应界面显示,那此时它的身份就转为VO

 

POJO 
Plain  Ordinary  Java  Object 

个人感觉POJO是最常见最多变的对象,是一个中间对象,也是我们最常打交道的对象

一个POJO持久化以后就是PO
直接用它传递、传递过程中就是DTO
直接用来对应表示层就是VO

 

关系图

posted on 2011-12-01 13:57  magicboylinw  阅读(295)  评论(0编辑  收藏  举报