一、PO :(persistant object ),持久对象

可以看成是与数据库中的表相映射的java对象。使用Hibernate来生成PO是不错的选择。

二、VO :(value object) ,值对象

通常用于业务层之间的数据传递,和PO一样也是仅仅包含数据而已。但应是抽象出的业务对象,可以和表对应,也可以不,这根据业务的需要.

PO只能用在数据层,VO用在商务逻辑层和表示层。各层操作属于该层自己的数据对象,这样就可以降低各层之间的耦合,便于以后系统的维护和扩展。

三、DAO :(Data Access Objects)  ,数据访问对象接口
DAO是Data Access Object数据访问接口,数据访问:顾名思义就是与数据库打交道。夹在业务逻辑与数据库资源中间。

J2EE开发人员使用数据访问对象(DAO)设计模式把底层的数据访问逻辑和高层的商务逻辑分开.实现DAO模式能够更加专注于编写数据访问代码.

DAO模式是标准的J2EE设计模式之一.开发人员使用这个模式把底层的数据访问操作和上层的商务逻辑分开.一个典型的DAO实现有下列几个组件:
  1. 一个DAO工厂类;
  2. 一个DAO接口;
  3. 一个实现DAO接口的具体类;
  4. 数据传递对象(有些时候叫做值对象).
  具体的DAO类包含了从特定的数据源访问数据的逻辑。

四、BO :(Business Object),业务对象层
表示应用程序领域内“事物”的所有实体类。这些实体类驻留在服务器上,并利用服务类来协助完成它们的职责。

五、POJO :(Plain Old Java Objects),简单的Java对象
实际就是普通JavaBeans,使用POJO名称是为了避免和EJB混淆起来, 而且简称比较直接.
其中有一些属性及其getter、setter方法的类,有时可以作为value object或dto(Data Transform Object)来使用.当然,如果你有一个简单的运算属性也是可以的,但不允许有业务方法,也不能携带有connection之类的方法。

最新文章

  1. 使用VNC登录Linux
  2. leetcode文章137称号-Single Number II
  3. Java泛型中的通配符的使用
  4. Netty 核心容器之ByteBuf 结构详解
  5. matlab转C语言
  6. [译]async/await中阻塞死锁
  7. IE和其他浏览器内核
  8. Python全栈(第一部分)day2
  9. MySql中对Group by后的结果数进行Count
  10. P1160 队列安排 luogu洛谷
  11. 设定linux为多用户模式
  12. EOS开发基础之一:源代码下载与开发环境搭建
  13. 第二十五章 springboot + hystrixdashboard
  14. 使用for...of 优点,代替for...in,forEach和for循环
  15. Gitlab+Jenkins学习之路(十)之Jenkins按角色授权和Pipeline
  16. JHipster项目启动后默认的8080主页是空白页面?
  17. ASP.NET Web API 2:创建API帮助页面
  18. 一款简洁的纯css3代码实现的动画导航
  19. C++ primer第三章作业
  20. 【bzoj2006】【NOI2015】超级钢琴

热门文章

  1. python类的相关知识第二部分
  2. jquery获取浏览器类型和版本号的方法
  3. 正则表达式 \b
  4. Angular学习笔记—创建一个angular项目
  5. springboot整合fastjson 将null转成空字符串
  6. appium实现adb命令 截图和清空EditText
  7. go——字典(二)
  8. ubuntu中Eclipse-cpp编译MySQL源码
  9. CSS 控制元素 上下左右居中
  10. wpf利用线程制作初始界面和关闭窗体特效