java|VO, BO, PO, DAO,POJO之间的区别


VO, BO, PO, DAO,POJO之间的区别

  • VO
  • PO
  • DTO
  • BO
  • POJO
  • DAO

VO value object : 值对象
通常用于业务层之间的数据传递,由new创建,由GC回收。
PO persistant object :持久层对象
对应数据库中表的字段
VO和PO,都是属性加上属性的get和set方法,表面上看没什么不同,但代表的含义是完全不同的。
DTO data transfer object : 数据传递对象。
比如:表里面有十几个字段:id, name, gender, age, companyId …;页面上需要展示四个字段:name, gender, age, companyName。此时就需要DTO了,一是能提高数据传输的速度(减少了传输字段),二是能隐藏后端表的结构。
BO business object : 业务对象
BO把业务逻辑封装为一个对象
比如:投保人是一个po,被保险人是一个po,险种信息是一个po,它们组合起来是一张保单的BO。
POJO plain ordinary java object : 简单无规则的java对象
纯的传统意义的java对象,最基本的java bean只有属性加上属性的get和set方法。
可以转化为PO, DTO,VO。比如POJO在传输过程中就是DTO
DAO 【java|VO, BO, PO, DAO,POJO之间的区别】data access object: 数据访问对象
主要用来封装对数据的访问,注意,是对数据的访问,不是对数据库的访问。

    推荐阅读