一、PO
persistant object 持久对象,可以看成是与数据库中的表相映射的java对象。
二、VO
value object值对象。通常用于业务层之间的数据传递,和PO一样也是仅仅包含数据而已。但应是抽象出的业务对象,可以和表对应,也可以不,这根据业务的需要.
有一种观点就是:PO只能用在数据层,VO用在商业逻辑层和表示层。
各层操作属于该层自己的数据对象,这样就可以降低各层之间的耦合,便于以后系统的维护和扩展。
1.三个概念
- View Object(VO)
- Business Object(BO)
- Persistence Object(PO)
他们分别是三层结构的显示层、业务逻辑层和存储层内部使用的数据结构,它们还有一个统称,叫做数据对象Data Object(DO)。
我们也可以把VO,BO和PO看成是DO在不同阶段的不同表示形态。当一个DO从显示层开始穿越整个系统的时候,它的形态和结构就开始变化,从VO转变到BO,最终到PO,但是这个过程不一定是可逆的,这个过程如果反向,从PO->BO->VO,很可能就对应不同的对象了。比如当输入错误的时候,回馈页面可能就需要增加一个错误信息提示。虽然实际使用的时候,我们经常会忽略这种细微的差异性,实际上这个错误信息,只对显示层有意义。
2.DO的转换规律
DO的转换规律一般可以总结为如下的几个类型,实际变化则可以是各种类型的组合: