PO/VO/BO/DTO/DAO/POJO相关概念

PO(Persistant Object) - 持久化对象

在ORM(Object-Relation Mapping对象关系映射)中,PO通常对应数据库当中的数据模型是与数据库中的表映射出来的java对象。
最简单的PO对应于数据库中的某表的一条记录多条记录可以作为PO的集合PO当中不应该含有任何对数据库的操作。


VO(Value Object) - 值对象

通过new创建的Java对象可以根据业务的需求进行个性化定制

VO通常用于业务层不同模块之间进行数据传递,和PO一样仅仅包含数据。

PO用于数据层,VO用于业务逻辑层,两者所负责的区域不同。


BO(Business Object) - 业务对象

封装业务逻辑的Java对象,通过调用DAO方法,结合PO、VO进行业务操作。

表示应用程序领域内“事物”的所有实体类。这些实体类驻留在服务器上并利用服务类来协助完成它们的职责


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

根据业务逻辑获取相应的PO集合,对集合中PO内数据进行校验/封装,返回调用方需要的数据。

通常用于业务逻辑层与表现层之间通过网络进行数据传递可以有效减少请求次数降低延迟


DAO(Data Access Object) - 数据访问对象

封装对数据库的访问结合PO/POJO对数据库进行相应的操作为业务逻辑层提供相应的接口


POJO(Plain Old Java Object) - 普通Java对象

传统意义的 JavaBean 对象只有属性以及相应的getter/setter方法不包含任何逻辑代码


img


参考资料:

[1] http://blog.csdn.net/gaoyunpeng/article/details/2093211

[2] http://www.cnblogs.com/bluestorm/archive/2012/09/26/2703234.html

[3] https://my.oschina.net/liting/blog/354077