注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

老陈的博客

非淡泊无以明志,非宁静无以致远,说的是心态!

 
 
 

日志

 
 

J2EE数据层模式——DAO模式和VO模式简介  

2009-12-29 15:14:58|  分类: 工作 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

DAO模式和VO模式是Sun Java Center最先提出的。DAO模式抽象从数据源获取和操纵数据的方法。DAO模式有两个作用:

  • 第一,DAO模式完全抽象用户请求的数据所在数据源。数据源是完全透明的。
  • 第二,抽象通常与访问数据源相关联的CRUD(Create, Update, Replace,Delete)逻辑。由于用户不知道如何查询和读取数据,因此改变数据访问代码时不受影响。DAO模式甚至允许应用程序建筑师从多个数据源读取数据,用一个逻辑对象向用户显示。

    DAO模式抽象与数据读取和操纵相关的任务,定义的Java接口有五个:

  1.  ValueObject findByPrimaryKey(Object pPrimaryKey) 从数据源取得一个记录,返回ValueObject类型的对象
  2. insert(ValueObject pValueObject)
  3. update(ValueObject pValueObject)
  4. delete(ValueObject pValueObject) 
  5. createValueObject() 创建空的ValueObject对象

   由于DAO模式抽象读取和操纵机制,因此可以用两种不同方式实现:

  • 作为标准Java类
  • 作为J2EE会话EJB

    Value Object 模式首先作为业务层J2EE设计模式,减少使用实体EJB时需要的远程调用次数。Value Object可以减少网络开销,让实体EJB在普通Java类中填入用户请求的所有数据。然后再把数值对象发送到调用实体Bean的应用程序。调用应用程序处理数值对象,然后将其返回原来的实体。让调用应用程序而让EJB取得和设置数值对象的数据可以大大减少使用实体EJB造成的潜在网络通信开销。同时,也可以扩展Value Object模式,在持久性框架更好的利用。甚至可以把Value Object 看成核心数据层模式,原因有两个:

  • 首先,数值对象可以表示数据库中所包含数据的逻辑视图。可以用Value Object模式抽象数据关系,数值对象甚至可以用一个界面表示从多个数据源读取的数据。就使用数值对象的客户机应用程序而言,并不知道数据从何而来,如何管理。
  • 第二,数值对象把几层体系结构的所有层集成起来。可以用数值对象在表示层/业务逻辑层/数据层之间传递数据。用户在用户界面中键入数据之时,可以把数据放在数值对象中,传入业务逻辑,然后转发到数据层。相反,用户请求信息时,数据层可以返回数值对象到业务逻辑,然后转发到表示层。
【2006年09月15日 星期五 12:26】
  评论这张
 
阅读(68)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017