首页 > 代码库 > java-基础-【四】实际编程中的对象

java-基础-【四】实际编程中的对象

一、概述

  实际编程开发中,仅仅一个数据库对象映射是满足不了各种复杂需求。

  O/R Mapping 是 Object Relational Mapping(对象关系映射)的缩写。通俗点讲,就是将对象与关系数据库绑定,用对象来表示关系数据。在O/R Mapping的世界里,有个基本的也是重要的东东需要了解,即PO。

二、对比

以下指示大家通俗意义上的常用定义,一般以此为后缀【PO不用加】

当然也可以定义自己的各种O对象,方便开发的简便与理解,比如个人常用的接收前端参数的RO【Request Object】、QO【query object】等

名称全名基本含义备注
PO

persistant object

持久对象

它们是由一组属性和属性的get和set方法组成

可以看成是与数据库中的表相映射的java对象

PO的属性是跟数据库表的字段一一对应的

不建议增加任何逻辑

可能是所有其他O的基类或属性

VO【1】

value object

值对象

业务对象,是存活在业务层的,是业务逻辑使用的,

它存活的目的就是为数据提供一个生存的地方

 
VO【2】

View Object

表现层对象

主要对应界面显示的数据对象。对于一个WEB页面,

或者SWT、SWING的一个界面,用一个VO对象对应整个界面的值。

 
BO

business object

业务对象 

从业务模型的角度看,见UML元件领域模型中的领域对象。

封装业务逻辑的java对象,通过调用DAO方法,结合PO,VO进行业务操作。

 
POJO

plain ordinary java object

简单无规则java对象

POJO是最常见最多变的对象,是一个中间对象

 
DTO 

Data Transfer Object

数据传输对象

主要用于远程调用等需要大量传输对象的地方。
比如我们一张表有100个字段,那么对应的PO就有100个属性。
但是我们界面上只要显示10个字段,
客户端用WEB service来获取数据,没有必要把整个PO对象传递到客户端,
这时我们就可以用只有这10个属性的DTO来传递结果到客户端,这样也不会暴露服务端表结构.

到达客户端以后,如果用这个对象来对应界面显示,那此时它的身份就转为VO

 
DAO

data access object

数据访问对象

和以上完全不是一个概念

主要用来封装对数据库的访问。通过它可以把POJO持久化为PO,用PO组装出来VO、DTO

 

java-基础-【四】实际编程中的对象