Java情势筹划之数据访谒对象情势[Java编程]
本文“Java情势筹划之数据访谒对象情势[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
很多的J2EE利用程序需求利用长期性数据(数据库、文件等).差别的程序,长期性存储是各不相同的,并且用来拜候这些差别的长期性存储机制的API也有很大的差别.假如利用程序要在差别的长期性存储间迁移,这些拜候特定长期存储层的代码将面对重写.
若何办理这个问题?且看"DAO情势"
数据拜候对象(Data Acess Object) 情势
一.环境
按照数据源差别,数据拜候也差别.按照存储的范例(关系数据库、面向对象数据库、文件等等)和供应商实现差别,长期性存储(比方数据库)的拜候差别也很大.
二.问题
很多真是的J2EE利用程序需求在一定程度上利用长期性数据.关于很多利用程序,长期性存储是利用差别的机制实现的,并且用来拜候这些差别的长期性存储机制的API也有很大的差别.
比方,利用程序利用实体bean(这里应当是指BMP的bean,CMP的bean已大大降低了与RDBMS的耦合)的分布式组件来表示长期性数据,大概利用JDBC API来拜候驻留在某关系数据库管理系统(RDBMS)中的数据,这些组件中包含衔接性性和数据拜候代码会引入这些组件与数据源实现之间的精密耦合.组件中这类代码依靠性使利用程序从某种数据源迁移到其他种类的数据源将变得非常麻烦和艰难.当数据源改变时,组件也需求改变,以便于可以处理新范例的数据源.
(举个例子来说,我们UPTEL系统是利用JDBC API对 ORACLE数据库举行衔接和数据拜候的,这些JDBC API与SQL语句散布在系统中,当我们需求将UPTEL迁移到其他RDBMS时,比方曾经迁移到INFORMIX,就面对重写数据库衔接和拜候数据的模块.)
三.作用力
1.诸如bean管理的实体bean、会话bean、servlet等组件常常需求从长期性存储数据源中检索数据,以及举行数据存储等操作.
2.按照产品供应商的差别,长期性存储API差别也很大,这些API和其本领一样按照存储的范例差别也有差别,这样存在以下缺陷,即拜候这些独立系统的API很不统一.
3.组件需求透明于实际的长期性存储大概数据源实现,以便于供应到差别供应商产品、差别存储范例和差别数据源范例的更简单的移植性.
四.办理筹划
利用数据拜候对象(DAO)情势来抽象和封装全部对数据源的拜候.DAO管理着与数据源的衔接以便检索和存储数据.
DAO实现了用来操作数据源的拜候机制.数据源可以时RDBMS,LDAP,File等.依靠于DAO的业务组件为其客户端利用DAO供应更简单的接口.DAO完好向客户端躲藏了数据源实现细节.由于当低层数据源实现改变时,DAO向客户端供应的接口不会改变,全部该情势答应DAO调整到差别的存储情势,而不会影响其客户端大概业务组件.重要的是,DAO充当组件和数据源之间的适配器.
(按照这个理论,假如我们UPTEL系统利用了DAO情势,便可以无缝的从ORACLE迁移到任何一个RDBMS了.幻想老是很完善的,且看看DAO情势若何实现)
1.构造,图1是表示DAO情势中各种关系的类图.
此主题相关图片以下:
以上是“Java情势筹划之数据访谒对象情势[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |