VO , PO , BO , QO , DAO , POJO

1. VO(value object) 值对象 

VO 是用 new 关键字创建,由 GC 回收的。 

VO 是值对象,精确点讲它是业务对象,是存活在业务层的,是业务逻辑使用的,它存活的目的就是为数据提供一个生存的地方。 

VO 的属性是根据当前业务的不同而不同的,也就是说,它的每一个属性都一一对应当前业务逻辑所需要的数据的名称。 


2. PO(persistant object) 持久对象 

        PO 则是向数据库中添加新数据时创建,删除数据库中数据时削除的。并且它只能存活在一个数据库连接中,断开连接即被销毁。 

  PO 则是有状态的,每个属性代表其当前的状态。它是物理数据的对象表示。使用它,可以使我们的程序与物理数据解耦,并且可以简化对象数据与物理数据之间的转换。 

PO 的属性是跟数据库表的字段一一对应的。 

PO 对象需要实现序列化接口


3.  TO(Transfer Object) ,数据传输对象 

    

4.  BO(business object) 业务对象 

        主要作用是把业务逻辑封装为一个对象。这个对象可以包括一个或多个其它的对象。 

比如一个简历,有教育经历、工作经历、社会关系等等。 

我们可以把教育经历对应一个 PO ,工作经历对应一个 PO ,社会关系对应一个 PO 。 

建立一个对应简历的 BO 对象处理简历,每个 BO 包含这些 PO 。 

这样处理业务逻辑时,我们就可以针对 BO 去处理。 

5. POJO(plain ordinary java object) 简单无规则 java 对象 

        纯的传统意义的 java 对象。就是说在一些 Object/Relation 

Mapping 工具中,能够做到维护数据库表记录的 persisent 

object 完全是一个符合 Java Bean 规范的纯 Java 对象,没有增加别的属性和方法。我的理解就是最基本的 Java Bean     ,只有属性字段及 setter 和 getter 方法!。 


6.  DTO  (Data Transfer Object) 数据传输对象 

        主要用于远程调用等需要大量传输对象的地方。 

        比如我们一张表有 100 个字段,那么对应的 PO 就有 100 个属性。 

        但是我们界面上只要显示 10 个字段, 

        客户端用 WEB service 来获取数据,没有必要把整个 PO 对象传递到客户端, 

        这时我们就可以用只有这 10 个属性的 DTO 来传递结果到客户端,这样也不会暴露服务端表结构 . 到达客户端以后,如果用这个对象来对应界面显示,那此时它的身份就转为 VO

 

   





你可能感兴趣的:(VO , PO , BO , QO , DAO , POJO)