java中的PO VO BO DTO DO DAO之间的关系
DO
domain object 领域对象,现实世界中抽象出来的有形或无形的业务实体
PO
persistant object 持久对象,也被称作Data对象,对应数据库中的entity,可以简单认为一个PO对应数据库中的一条记录。PO中不应该包含任何对数据库的操作。
VO
Value object
值对象,通常用于业务层之间传数据,和PO一样也仅仅是包含数据。
View object
用于展示层,把某个指定页面或组件的所有数据封装起来。
DTO
data transfer object 数据传输对象,用在需要跨进程或远程传输时,他不应该包含业务逻辑。比如一张表有100个属性,对应的PO就有100个属性,但是view层只要显示10个字段,可以只用这10个属性的DTO来传递数据到client,如果这个对象来到显示界面,就变成了VO
POJO
普通java bean,有时可以作为value object或dto来使用。不允许有业务方法,也不能带有connection方法。
BO
business object 业务对象。把业务逻辑封装成一个对象,这个对象可以包含一个或多个其他的对象,比如一个简历,有教育经历、工作经历、社会关系等。教育经历可以看成一个PO,工作经历和社会关系也看作PO,每个简历BO包含这些PO。
DAO
data access object 数据访问对象,此对象用于访问数据库,通常和PO结合使用,DAO中包含了各种数据库等操作方法。夹在业务逻辑和数据库资源中间,配合VO,提供数据库CRUD操作。