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方法,不包含任何逻辑代码。
参考资料:
[1] http://blog.csdn.net/gaoyunpeng/article/details/2093211
[2] http://www.cnblogs.com/bluestorm/archive/2012/09/26/2703234.html