PO、VO、DAO、BO、DTO、POJO能分清吗?

 

 

66套java从入门到精通实战课程分享java

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

能够当作是与数据库中的表相映射的java对象。使用Hibernate来生成PO是不错的选择。数据库

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

一般用于业务层之间的数据传递,和PO同样也是仅仅包含数据而已。但应是抽象出的业务对象,能够和表对应,也能够不,这根据业务的须要.设计模式

PO只能用在数据层,VO用在商业逻辑层和表示层。各层操做属于该层本身的数据对象,这样就能够下降各层之间的耦合,便于之后系统的维护和扩展。服务器

3、DAO :(Data Access Objects) ,数据访问对象接口

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

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

DAO模式是标准的J2EE设计模式之一.开发人员使用这个模式把底层的数据访问操做和上层的商务逻辑分开.一个典型的DAO实现有下列几个组件:orm

1. 一个DAO工厂类;对象

2. 一个DAO接口;接口

3. 一个实现DAO接口的具体类;资源

4. 数据传递对象(有些时候叫作值对象).

具体的DAO类包含了从特定的数据源访问数据的逻辑。

4、BO :(Business Object),业务对象层

表示应用程序领域内“事物”的全部实体类。这些实体类驻留在服务器上,并利用服务类来协助完成它们的职责。

5、DTO Data Transfer Object数据传输对象

主要用于远程调用等须要大量传输对象的地方。好比咱们一张表有100个字段,那么对应的PO就有100个属性。可是咱们界面上只要显示10个字段,客户端用WEB service来获取数据,没有必要把整个PO对象传递到客户端,这时咱们就能够用只有这10个属性的DTO来传递结果到客户端,这样也不会暴露服务端表结构.到达客户端之后,若是用这个对象来对应界面显示,那此时它的身份就转为VO

6、POJO :(Plain Old Java Objects),简单的Java对象

实际就是普通JavaBeans,使用POJO名称是为了不和EJB混淆起来, 并且简称比较直接.其中有一些属性及其getter、setter方法的类,有时能够做为value object或dto(Data Transform Object)来使用.固然,若是你有一个简单的运算属性也是能够的,但不容许有业务方法,也不能携带有connection之类的方法

相关文章
相关标签/搜索