各种O.png

PO(Persistent Object - 持久化对象)

该概念随着 ORM 产生,可以看成是与数据库中的表相映射的 Java 对象。通常就是对应数据库中某个表中的一条记录。PO 仅仅用于表示数据,没有任何数据操作。通常遵守 Java Bean 的规范,拥有 getter/setter方法。

PO 的特点:

  • PO 的属性是跟数据库表的字段一一对应
  • PO 对象需要实现序列化接口
  • PO 中不应该包含任何对数据库的操作

VO(Value Object/View Object - 值对象/视图对象)

View Object,视图对象,用于展示层,它的作用是把某个指定页面(或组件)的所有数据封装起来,对应整个界面的值。在 Web 界面显示数据的对象。

Value Object,值对象,也称为业务对象,是存活在业务层的,是业务逻辑使用的,它存活的目的就是为数据提供一个生存的地方(实际上跟DO有点类似)。【看不明白,以后再说】

BO(Business Object - 业务对象)

BO用于表示一个业务对象,它包括了业务逻辑,常常封装了对DAO和RPC等的调用,可以进行PO与VO/DTO之间的转换。

BO通常位于业务层,要区别于直接对外提供服务的服务层:BO提供了基本业务单元的基本业务操作,在设计上属于被服务层业务流程调用的对象,一个业务流程可能需要调用多个BO来完成。【同样看不明白,以后再说】


本文来源:
【Java】一图看懂Java中的PO,BO,VO,DTO,POJO,DAO,DO
Java各种对象(PO,BO,VO,DTO,POJO,DAO,Entity,JavaBean,JavaBeans)的区分

标签: none

评论已关闭