JavaEE PO VO BO DTO POJO DAO 整理总结

简介:

      佩服能将复杂难懂的技术,抽象成简单易懂事物的人。

        厌恶将简单易懂的技术,添加一堆专业术语将别人弄的头晕目眩的人。

       PO VO BO DTO POJO DAO 总体一览:

1.DAO[data access object]数据访问对象

  DAO层对开发人员黑盒,由架构师设计封装。

  在很长一段时间内,我将它理解为对数据库的访问,后面随着项目的积累。

  发现自己的理解相对狭隘,对数据访问不仅仅指的是对数据库的访问。

  假如A系统调用B系统的服务获取数据,这时候A系统对B系统访问数据对象的封装也可以称为DAO。

2.DTO[data transfer object]数据传输对象

  假设数据表中存在20个字段,但是在页面展示列表的时候,这20个字段显然都不会用到。

  我想对其中的5个字段进行展示,而且这5个字段展示的时候,也并不是数据库中他们原有的样子。

  还需要进行计算、截取、业务代码转名称 .....等等

  数据传输对象因此而被诞生,一是能提高数据传输的速度,二能隐藏后端表结构。

3.PO[persistant object]持久层对象

  持久对象属性和数据库中的字段是一一对应的,数据库中的一条数据可以理解为一个持久对象。

  因ORM框架的广泛使用而被引入到 JavaEE 项目设计当中。

4.BO[bussiness object]业务对象

  业务对象顾名思义是在业务处理中抽象出来的对象,里面除了get/set 方法外,也可以有对字段进行业务处理的方法。

  假设你要对一个班级进行业务处理,其中的学生、教师、甚至是桌椅板凳都是业务对象的组成部分。

  当然其中的学生、教室....都可以是和数据库对应的PO。

5.VO[value object]值对象

  值对象也可以称做页面对象,如果称做页面对象,那门它所代表的将是整个页面展示层的对象。

  可以由需要的业务对象进行的换算转换而来。

  如果称呼他为值对象的话,那门他可以理解为存放业务对象的一个地方。

  假设锅碗瓢盆分别为对应的业务对象的话,那门整个碗柜就是一个值对象。

4.POJO[plain ordiary java object] 简单java对象

  简单java对象应该是JavaEE世界里面最灵活的对象。

  在简单系统中,如果从数据库到页面展示都是POJO的话,它可以是DTO。

  如果从数据库中到业务处理中都是POJO的话,他也可以是BO。

  同样如果从数据库到整个页面的展示的话,它同样可以是VO。

 

小结:

  各个数据对象之间的转换是相当灵活的,在项目中可以定义上述对象的全部和其中的几种类型,这取决与架构师和需求。

  在大型项目中,架构师在项目初期的任务除了搭建起整个开发环境以外,定义在系统中流转的数据结构对象同样是重重之重。

  这项工作需要许多项目的积累和长期对软件开发的思考,多实践,多思考,提供最合适的数据对象解决方法,方能展现架构师的魅力。

 


本文转自Orson博客园博客,原文链接:http://www.cnblogs.com/java-class/p/5439646.html,如需转载请自行联系原作者

相关文章
|
6月前
|
存储 前端开发 Java
Java:PO、VO、BO、DO、DAO、DTO、POJO
Java:PO、VO、BO、DO、DAO、DTO、POJO
144 0
|
前端开发 数据库 微服务
JavaWeb - 我们的开发规范(VO、DTO、BO、PO、DO、POJO)
JavaWeb - 我们的开发规范(VO、DTO、BO、PO、DO、POJO)
1583 0
JavaWeb - 我们的开发规范(VO、DTO、BO、PO、DO、POJO)
|
Java 数据库
POJO、PO、DTO、DAO、BO、VO需要搞清楚的概念
POJO 全称为:Plain Ordinary Java Object,即简单普通的java对象。一般用在数据层映射到数据库表的类,类的属性与表字段一一对应。 PO 全称为:Persistant Object,即持久化对象。
31796 1
|
12月前
|
前端开发 Java 数据库
DTO、TO、VO、PO、DO、BO、AO、DAO、POJO
DTO、TO、VO、PO、DO、BO、AO、DAO、POJO
103 0
|
设计模式 前端开发 Java
Java开发中PO、VO、DAO、BO、DTO、POJO 含义
可以看成是与数据库中的表相映射的java对象。使用 Mybatis 来生成 PO 是不错的选择。
361 0
|
设计模式 消息中间件 开发框架
别乱分层,PO、VO、DAO、BO、DTO、POJO 到底应该用在哪里,你知道吗?
别乱分层,PO、VO、DAO、BO、DTO、POJO 到底应该用在哪里,你知道吗?
|
设计模式 存储 开发框架
Java各种对象(PO,BO,VO,DTO,POJO,DAO,Entity,JavaBean,JavaBeans)的区分
Java各种对象(PO,BO,VO,DTO,POJO,DAO,Entity,JavaBean,JavaBeans)的区分
545 0
|
设计模式 消息中间件 开发框架
PO、VO、DAO、BO、DTO、POJO 能分清吗?
PO、VO、DAO、BO、DTO、POJO 能分清吗?
|
存储 前端开发 NoSQL
项目中的 DO、DTO、BO、VO、POJO的区别是什么
项目中的 DO、DTO、BO、VO、POJO的区别是什么?
|
设计模式 开发框架 Java
搞清楚java中的PO、VO、DAO、BO、DTO、POJO
我们界面上只要显示10个字段,客户端用WEB service来获取数据,没有必要把整个PO对象传递到客户端,这时我们就可以用只有这10个属性的DTO来传递结果到客户端,这样也不会暴露服务端表结构。
256 0