|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
从一个编程语言的普及程度来将,一个好的IDE是至关中要的,而现在的java的IDE虽然已经很好了,但是和.net网页编程比起来还是稍微差一些的,这是个客观事实。java要想普及的更好。DE是必须加以改进的。
良多的J2EE使用程序必要利用耐久性数据(数据库、文件等)。分歧的程序,耐久性存储是各不不异的,而且用来会见这些分歧的耐久性存储机制的API也有很年夜的分歧。假如使用程序要在分歧的耐久性存储间迁徙,这些会见特定耐久存储层的代码将面对重写。
怎样办理这个成绩?且看"DAO形式"
数据会见对象(DataAcessObject)形式
一.情况
依据数据源分歧,数据会见也分歧。依据存储的范例(干系数据库、面向对象数据库、文件等等)和供给商完成分歧,耐久性存储(好比数据库)的会见不同也很年夜。
二.成绩
很多真是的J2EE使用程序必要在必定水平上利用耐久性数据。关于很多使用程序,耐久性存储是利用分歧的机制完成的,而且用来会见这些分歧的耐久性存储机制的API也有很年夜的分歧。
好比,使用程序利用实体bean(这里应当是指BMP的bean,CMP的bean已年夜年夜下降了与RDBMS的耦合)的散布式组件来暗示耐久性数据,大概利用JDBCAPI来会见驻留在某干系数据库办理体系(RDBMS)中的数据,这些组件中包括毗连性性和数据会见代码会引进这些组件与数据源完成之间的严密耦合。组件中这类代码依附性使使用程序从某种数据源迁徙到其他品种的数据源将变得十分贫苦和坚苦。当数据源变更时,组件也必要改动,以便于可以处置新范例的数据源。
(举个例子来讲,我们UPTEL体系是利用JDBCAPI对ORACLE数据库举行毗连和数据会见的,这些JDBCAPI与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.布局,是暗示DAO形式中各类干系的类图。
此主题相干图片以下:
<br>
<p>
首先java功能强大的背后是其复杂性,就拿web来说,当今流行的框架有很多,什么struts,spring,jQuery等等,而这无疑增加了java的复杂性。 |
|