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。
小结:
各个数据对象之间的转换是相当灵活的,在项目中可以定义上述对象的全部和其中的几种类型,这取决与架构师和需求。
在大型项目中,架构师在项目初期的任务除了搭建起整个开发环境以外,定义在系统中流转的数据结构对象同样是重重之重。
这项工作需要许多项目的积累和长期对软件开发的思考,多实践,多思考,提供最合适的数据对象解决方法,方能展现架构师的魅力。
JavaEE PO VO BO DTO POJO DAO 整理总结的更多相关文章
- PO VO BO DTO POJO DAO(转)
2EE开发中大量的专业缩略语很是让人迷惑, 特别是对于刚毕业的新人来说更是摸不清头脑.若与公司大牛谈技术人家出口就是PO VO BO DTO POJO DAO 等,让新人们无比仰慕大牛. PO(bea ...
- PO VO BO DTO POJO DAO之间的关系
J2EE开发中大量的专业缩略语很是让人迷惑,尤其是跟一些高手讨论问题的时候,三分钟就被人家满口的专业术语喷晕了,PO VO BO DTO POJO DAO,一大堆的就来了. PO:persistant ...
- PO,VO,BO,DTO,POJO(POCO),DAO的区别(转载)
PO:persistant object持久对象 最形象的理解就是一个PO就是数据库中的一条记录.好处是可以把一条记录作为一个对象处理,可以方便的转为其它对象. BO:business object业 ...
- Java中DAO/DTO/PO/VO/BO/QO/POJO
ORM:是Object Relational Mapping(对象关系映射)的缩写. 通俗点讲,就是将对象与关系数据库绑定,用对象来表示关系数据.在O/R/M的世界里,有两个基本的也是重要的东东需要了 ...
- PO BO VO DTO POJO DAO 概念及其作用
PO BO VO DTO POJO DAO 概念及其作用(附转换图) 博客分类: java javadaovopojobo J2EE开发中大量的专业缩略语很是让人迷惑, 特别是对于刚毕业 ...
- 转:PO BO VO DTO POJO DAO概念及其作用
J2EE开发中大量的专业缩略语很是让人迷惑,尤其是跟一些高手讨论问题的时候,三分钟就被人家满口的专业术语喷晕了,PO VO BO DTO POJO DAO,一大堆的就来了(听过老罗对这种现象的批判的朋 ...
- [转]PO BO VO DTO POJO DAO概念及其作用(附转换图)
来源:http://www.blogjava.net/vip01/archive/2013/05/25/92430.html J2EE开发中大量的专业缩略语很是让人迷惑,尤其是跟一些高手讨论问题的时候 ...
- PO BO VO DTO POJO DAO概念及其作用(附转换图)
J2EE开发中大量的专业缩略语很是让人迷惑,尤其是跟一些高手讨论问题的时候,三分钟就被人家满口的专业术语喷晕了,PO VO BO DTO POJO DAO,一大堆的就来了(听过老罗对这种现象的批判的朋 ...
- PO BO VO DTO POJO DAO概念及其作用
J2EE开发中大量的专业缩略语很是让人迷惑,尤其是跟一些高手讨论问题的时候,三分钟就被人家满口的专业术语喷晕了,PO VO BO DTO POJO DAO,一大堆的就来了(听过老罗对这种现象的批判的朋 ...
随机推荐
- Sublime Text 收藏笔记
Sublime Text:初学者不知道的那些事 转载自: http://blog.jobbole.com/23949/
- LoadRunner性能测试巧匠训练营
<LoadRunner性能测试巧匠训练营>基本信息作者: 赵强 邹伟伟 任健勇 丛书名: 实战出版社:机械工业出版社ISBN:9787111487005上架时间:2015-1-7出版日期: ...
- partproble在RHEL 6下无法更新分区信息
在RHEL5.x版本下面,在添加磁盘分区等操作后,一直使用partproble命令使内核重新读取分区表信息,从而不用重新启动.但是最近在RHEL 6(Red Hat Enterprise Linux ...
- Nginx状态码499
1.问题描述 140.207.202.187 - - [18/May/2016:10:30:58 +0800] "POST/v3/violations HTTP/1.1" 499 ...
- CSS3之让背景图片全部显示
起初是在处理一个图片显示的问题, 图片没有有一部分没有显示出来, 之后用到了background-size, 发现有必要总结一下. background-size 首先声明 background-si ...
- WIN 下的超动态菜单(一)
WIN 下的超动态菜单(一)介绍 WIN 下的超动态菜单(二)用法 WIN 下的超动态菜单(三)代码 作者:黄山松,发表于博客园:http://www.cnblogs.com/tomview/ ...
- python 笔记(一) —— 不要误用 ++i、--i
ilocker:关注 Android 安全(新手) QQ: 2597294287 在 python 中也可以写 ++i,但含义完全不同于 c/c++.python 的 ++i 并不是将 i 自增 1, ...
- OpenStack 企业私有云的若干需求(9): 云管理平台 CMP
本系列会介绍OpenStack 企业私有云的几个需求: 自动扩展(Auto-scaling)支持 多租户和租户隔离 (multi-tenancy and tenancy isolation) 混合云( ...
- [转]TCP协议中的三次握手和四次挥手(图解)
本文转自:http://blog.csdn.net/whuslei/article/details/6667471 建立TCP需要三次握手才能建立,而断开连接则需要四次握手.整个过程如下图所示: 先来 ...
- UVALive 5061 Lightning Energy Report --LCA
题意:给一棵树,每次给u到v的路径上所有点加上一个值,最后输出每个点的权值(初始为0) 解法:每次在u,v间加k时,只要让u,v点的权值加上k,u,v的LCA处减去k(因为LCA的子树中加了两个k), ...