抽象工厂模式在NET数据访问层中的应用.pdf
《抽象工厂模式在NET数据访问层中的应用.pdf》由会员分享,可在线阅读,更多相关《抽象工厂模式在NET数据访问层中的应用.pdf(5页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、6 2IT E c H N。L。G Y技术应用抽象工厂模式在N E T 数据访问层中的应用魏一搏郭友(石家庄信息工程职业学院石家庄0 5 0 0 3 5)摘要:抽象工厂模式是向客户提供一个接口,使得客户在不必指定具体产品类型的情况下,创建多个产品系列中的某个产品对象。通过将抽象工厂模式应用于数据访问层,并结合反射技术,可以根据需要创建合适的一系列数据访问使用的对象,降低业务逻辑层和数据访问层之间的耦合,在一定程度上提高系统的易维护性和可扩展性。关键字:数据访问层;抽象工厂模式;反射当今的管理信息系统很少有不涉及数据库访问的,且大部分都涉及到关系数据库的访问。虽然目前的关系数据库通常采用S Q
2、L 语言作为其查询语言,但各种关系数据库在S Q L 语言使用的很多细节上并不一致,且各厂商的关系数据库,甚至同一厂商的不同版本的关系数据库都有很大差异。如果一个软件系统由于需求的变更或预期的扩展和修改,需要更换不同版本或不同厂商的数据库,如A c c e s s、Or a c l e、M y S Q L 等,我们就需要对整个数据访问层进行更改。如果解决了这个问题,那么软件系统在数据库选择和可扩展可维护性方面就能够获得更大的灵活性。在系统的数据访问层设计中,将设计模式中的抽象工厂模式与N E T 的反射机制相结合设计的数据访问层能够很好的解决这方面的问题。一、抽象工厂模式概述设计模式早期出现在
3、建筑业、制造业等领域中,设计模式也同样适用于面向对象的程序设计中。越来越多的人们己经认识到,在软件项目开发的过程中出现的许多问题都是由于开发人员没有很好地学习和利用前人的经验,而导致这种现象出现的一个很重要的原因就是人们在系统开发过程中不重视甚至忽略了对前人经验的总结和加工,这就是设计模式所要解决的问题。在软件设计中使用设计模式的根本原因是为了代码复用,增加系统的可维护性。抽象工厂模式是创建型模式中的一种,是各种形态的工厂模式中,具有更高层次抽象性的一种工厂模式形态。抽象工厂模式可以向客户端提供一个接口,使客户端在不必指定具体产品的情况下,创建多个产品系列中的某个产品对象。二、抽象工厂模式在数
4、据访问层中的应用抽象工厂模式的结构如图1 所示。可以看出,C I I e n t 使用的是派生自两个不同抽象产品类的对象。首先,客户对象并不知道自己使用的产品是哪一个,因为产品对象的创建是工厂对象的责任。其次,客户对象也并不知道自己使用的特定工厂图1抽象工厂模式结构图对象是哪个,因为它只知道自己拥有一个抽象工厂对象(A b s t r a c t F a c t o r y),而抽象工厂对象拥有两个实体工厂对象,即C o n cr e a t e F a c t or y l 和 万方数据C o n c r e a t e F a c t o r y 2。这样,就实现了对客户对象封装了关于使用
5、哪些服务者对象的选择细节。将抽象工厂模式运用到传统的数据访问层后,数据访问层简洁结构如图2 所示。在使用抽象工厂模式时,同系列的“产品”必须有公共的接口,I D A L就是S Q L S e r v e r D A L 和A c c e s s D A L 的公共接口程序集,负责提供实现数据访问层必须功能的接口,而S Q L S e r v e r D A L 和A c c e s s D A L 分别负责实现具体访问S Q L S e r v e r 数据库和A c c e s s 数据库的数据访问层功图2 数据访问层的抽象工厂模式能,它们是具体的“产品”系列。A b s t r a c t
6、 F a c t o r y是一个抽象工厂接口,它里面包含创建所有需要的数据访问层功能对象的接口方法,而S Q L F a c t o r y和A c c e s s F a c t or y 就是具体的工厂,它们实现了A b s t r a c t F a c t o r y 中的抽象方法,负责创建具体的数据访问层功能对象,即S Q L S e r V e r D A L 和A c c e s s D A L 中T E c H N。L。G Y技术应用l6 3的“产品”。在运行时,如果需要通过数据访问层访问数据,只需在业务逻辑层通过A b s t r a c t f a c t o r y J
7、 建正确的工厂实例即可。使用抽象工厂模式的最大好处是易于交换产品系列,如果需要将系统数据库由S Q L S e r v er 更换为A c c e s s 的话,只需在B L L 中更改实例化的具体工厂对象即可。这就使得改变一个应用的具体工厂变得非常容易,它只需要改变具体工厂就可使用不同的产品配置。而同时,通过使用这种方式,使具体的创建实例过程与B L L 分离,B L L 是通过它们的抽象接口来操纵实例的,产品的具体名称也被具体工厂的实现分离,不会出现在B L L 的代码中。仍然存在的问题在于,虽然在使用抽象工厂模式后使得系统可以更方便的切换数据库的访问代码,但是如果变更的需求是来源于数据访
8、问功能的增加,那么我们至少需要在I D A L、S Q L S e r v e r D A L 和A c c e s s D A L 中增加相应的功能接口和实现,还需要更图3 系统数据访问层结构图改A b s t r a c t F a c t o r yS Q L F a c t o r y 和A c c e s s F a c t o r y 中的代码才能够实现。这个问题虽然可以通过使用简单工厂模式进行改进,即抛弃A b s t r a c t F a c t or yS Q L F a c t o r y 和A c c e s s F a c t o r y-个工厂,转而通过一个简单工厂
9、将客户端与数据访问解耦,但是在更换新数据库如O r a c l e 时还是要在D A L F a c t o r y I 厂中添加相应的代码。这个问题的解决在使用N E T 的反射技术后迎刃而解。(下转5 9 页)万方数据G 7 2 3(G 7 2 3 1)话音压缩编码技术。以G 7 2 9 为例,它可将经过采样的6 4 k b s 话音以几乎不失真的质量压缩至8 k b s。话音压缩编码技术是l P 电话技术的一个重要组成部分。图像编码方面有I P 网络会议系统采用的H 2 6 1(活动图像编码)和H 2 6 3(低速率活动图像编码)。由于在分组交换网络中,业务质量不能得到很好保证,因而需要
10、话音和图像的编码具有一定的灵活性,也就是说编码速率、编码尺度的可变可适应性。在图像编码方面,H 2 6 3 采取了多种方式使得图像编码的尺度可变(分层编码、多精度编码),即根据不同的信道质量可以对码流进行调整,以保证所需的业务质量。在话音编码方面,近年来的研究得出G 7 2 9中一种很好的算法。G 7 2 9 原来是8 k b s 的话音编码标准,现在经进一步的研究和实践将其工作范围扩展至6 4 11 8 k b s,话音质量也在此范围内有一定的变化,但即使是6 4 k b s,话音质量也还不错,因而很适合在V o l P 系统中使用。2 3 媒体实时传输技术实时传输协议R T P 提供具有实
11、时特征的、端到端的数据传输业务,可以用来传送声音和活动图像数据,在这项数据传输业务中包含了装载数据的标识符、序列号、时戳以及传送监视。通常R T P 的协议数据单元是用U D P 分组来承载的。而且为了尽量减少时延,话音净荷通常都很短。这种I P 话音分组的开销很大,约为6 6 一8 0。于是有人提出了组合R T P 分组的概念。采用这种组合复用方法的确可以大大提高传输效率,但是目前尚无标准。2 4 业务质量保障技术V o l P 中主要采用资源预留协议(R S V P)以及进行服务质量监控的实时传输控制协议R T C P 来避免网(上接6 3 页)在系统的设计中,通过反射技术可以使用类型名称
12、字符串来实例化对象的功能,将实例化具体“产品”的工作在D A L F a c t o r y d p 通过反射技术+系统配置文件的方式来实现,从而彻底解决数据库访问时的可维护、可扩展问题。运用反射后,可得到的数据访问层结构如图3 所示。三、结束语将设计模式中的抽象工厂模式和N E T d P 的反射T E c H N。L。G Y技术应用l5 9络拥塞,保障通话质量。2 5 网络传输技术V o l P 中网络传输技术主要是T C P 和U D P,此外还包括网关互联技术、路由选择技术、网络管理技术以及安全认证和计费技术等。由于实时传输协议R T P提供具有实时特征的、端到端的数据传输业务,因此V
13、 o l P 中可用R T P 来传送话音数据。在R T P 报头中包含装载数据的标识符、序列号、时间戳以及传送监视等,通常R T P 协议数据单元是用U D P 分组来承载,而且为了尽量减少时延,话音净荷通常都很短。I P、U D P 和R T P 报头都按最小长度计算。V o l P 话音分组开销很大,采用R T P 协议的V o l P 格式,在这种方式中将多路话音插入话音数据段中,这样提高了传输效率。3 结束语如前面所介绍的,V o lP 技术在理论上已经逐渐成熟了起来。其在社会上也得到了广泛的应用。如现在大为流行的I P 电话。对于各级部门层次,也均有合适的V o l P 解决方案,
14、因此V o l P 在将来必有更广阔的前景。H【1】1 戴维森,2 0 0 8【2 1 2 陈黄海,技术2 0 0 0(0 4)参考文献高艳V o l P 技术构架f M】人民邮电出版社,李琥,诸鸿文分组语音通信技术U】通信【3】陆纪文,等构筑宽带智能网一电信级I PP h o n e 解决方案】四川通信技术,2 0 0 1,3 1(0 4)【4】4 汪亚光,汪敏包头压缩技术在V o I P 中的应用【J】上海大学学报(自然科学版),2 0 0 1(0 1)技术相结合运用于数据访问层,一方面能够极大的降低业务逻辑层与数据访问层之间的耦合,进一步遵循“开放一封闭原则”:同时,增强了系统的可扩展性
15、和易维护性,降低了系统升级和移植的难度,最大限度的实现了软件的复用。H参考文献【1】程杰大话设计模式【M】北京:清华大学出版社,2 0 0 7:1 4 1-1 5 7【2】甄镭一N E T 与设计模式p 川北京:电子工业出版社,2 0 0 5 万方数据抽象工厂模式在.NET数据访问层中的应用抽象工厂模式在.NET数据访问层中的应用作者:魏一搏,郭友作者单位:石家庄信息工程职业学院,石家庄,050035刊名:信息系统工程英文刊名:CHINA CIONEWS年,卷(期):2010,(2)被引用次数:0次 参考文献(2条)参考文献(2条)1.程杰 大话设计模式 20072.甄镭 NET与设计模式 2
16、005 相似文献(10条)相似文献(10条)1.学位论文 郑庭明 山东省地下水监测数据管理与发布系统的设计与实现 2007 地下水监测数据是依法管理水文地质、工程地质和环境地质勘查和评价工作的基础数据,实现地下水监测数据管理与发布的信息化建设,可以使广大工程技术人员科学高效地分析山东省地下水环境现状与未来,监测和监督地下水的过量开采与污染,在地质环境保护方面起着重要作用。本文所述山东省地下水监测数据管理与发布系统则是地质环境管理工作信息化建议的重要组成部分。山东省地下水监测数据管理与发布系统的目标是以微软推出的ASp.NET2.0和SQL Server2005为平台,构建一个基于B/S三层结构
17、的应用系统(以下简称Sdpgemis),实现对地下水监测数据录入、管理,提供统计报表分析和空间图形浏览等功能,为地质环境监测和管理服务,同时系统具有较好的可扩展性和可维护性,可以作为行业解决方案在全国各省地质环境监测总站中推广应用,具有很好的应用价值。本文作者负责项目的整个开发过程,独自承担了系统设计和实现的所有工作。首先,本文在介绍项目背景和全文体系后探讨了Web数据库的发展历程:主机/终端客户机/服务器浏览器/服务器,并比较了三种模式各自的优缺点。在此基础上讨论了访问Web数据库的不同方法:中间件技术、客户端技术、PHP技术、J2EE和ASp.NET技术。由于ASp.NET2.0与SQL
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 抽象 工厂 模式 NET 数据 访问 中的 应用
限制150内