- 1、本文档共19页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于.NET的可重用数据访问层的构建
作者:王远斌
摘要:有人提出一种新的数据访问层的N层架构的设计解决方案。它可以解决多种问题,例如:低效率的开发,移植、更新和重用过程中的困难。该解决方案采用了.NET的反射技术和设计模式。这种解决方案的一种典型应用表明:新的数据访问层的解决方案的性能优于目前的N层架构。更重要的是,应用表明:新的数据访问层的解决方案可以有效地重用。
关键词:N层架构;数据访问层;反射技术;重用
1 引言
在软件开发过程中,软件系统的结构设计一直发挥着关键的作用。对于大型企业级应用来说,系统架构不仅影响系统设计和系统开发,而且与后续系统开发有直接联系,它甚至可以决定整个系统的开发是否成功。目前,由于其明显的优势,N层架构已经成为一种标准的构建企业级应用。然而,当前庞大而复杂的N层体系架构出现了一些问题,例如:低效率的开发,移植、更新和重用过程中的困难。文中提出了基于.NET技术和N层架构的解决方法,即如何建立一种新的利用反射和工厂模式的数据访问层。
2 N层架构的采用
N层架构是一种基于双层架构的新型软件结构,以便于有效地处理大规模分布应用中的问题。在双层架构中,客户端的数据库和业务逻辑的存储程序是一个抽象和自我管理的应用逻辑层,这种存储程序也纳入了应用服务器中。通过这种方式,N层架构应运而生。在N层架构中,业务逻辑在应用服务器中,应用服务器中包含了业务规则、数据处理等。N层架构具有以下优点:良好的透明性和封装;高内聚、低耦合;易扩展、易更新、重用性好;便于开发者合作;高效率的开发。
最常见的N层架构有三个不同的层次,包括用户界面、业务逻辑层和数据访问层。用户界面层仅仅是一种用来处理用户界面应用程序的软件,它的主要任务是实现服务器和客户端的通信。可以是一个网页,或者是传统的命令提示符界面。这一层还负责获取用户的数据输入,并将他们传递给业务逻辑层。业务逻辑层包含了业务规则、数据处理等,这层并不知道任何关于HTML及怎样将其输出的信息。它不关心ADO或SQL,这些任务分配它相应的上层或下层来完成。这层的核心职能是接收用户界面的请求、按照有关的业务逻辑处理请求、发送请求并接收相应的结果,将这些结果返回给用户界面层。数据访问层是整个架构的最底层,它为业务逻辑层提供数据服务,在一些数据存储(关系型数据库和XML等)中存储或检索数据。
3 .Net中的反射和工厂模式
3.1 .NET中的反射
在.NET中,使用CLR(公共语言运行库)提供反射技术,这种技术可以在运行时获得包含在集合中的信息类型。通常,.NET应用程序包括如下几部分:组件,模块和类型。反射提供了一种编程方式,并且允许程序员在运行时检查类型信息并对这些类型调用方法。例如,一个组件是一个可重用和可自我描述的通用语言运行库应用程序的构件。它可以在运行时加载组件,并获得该组件中的所有类型。
类型是获取元数据的主要手段,可以作为映像API的门户。它提供了多种方法来获取类型声明的信息,如构造函数、属性、方法和事件。方法信息包括方法的信息,可以发现方法的属性,并提供元数据的获取方法。它给出了方法的名称、参数,返回它的值,甚至还可以调用该方法。
通过反射技术,可以实现多种功能,例如:创建一种类型的实例,将这一类型与当前的对象绑定以及获得目前对象的类型。当应用程序在运行中为了执行某一操作需要加载一个特殊类型时,可以使用反射技术。
3.2 工厂模式
伯特兰·迈耶建议软件实体应该是可扩展的,但是不可修改的。GOF(Gang of Four:四人组)的工厂模式在一定程度上遵守这种原则,并已在软件开发中获得了广泛的应用。工厂模式负责建立有公共接口的类型的实例。通过工厂模式,某些类型的实例可以被动态地创建,而不需要预先了解类型名称的信息。
4 数据访问层的设计
虽然目前流行的几种多层结构(包括3层、4层和5层)比以往发挥着更为重要的作用,但是,当系统庞大而且数据库复杂时,多层结构的开发似乎仍然很困难。
现有的框架直接采用存储过程或程序中的SQL语句。因此,大量的SQL语句需要组建,使得数据访问层的工作量巨大、效率低,甚至导致移植和更新困难。
.NET的反射技术与工厂模式的结合产生了一种新的数据访问层的解决方案。在数据库转换时,工厂模式使你可以轻而易举地更新系统。基于OOP(面向对象的程序设计),开发人员从繁重的工作和复杂的SQL语言中解放了出来。所有的SQL语句将由开发人员熟悉的OOP构建,与此同时,新的数据访问层具有较高的重用性和灵活性,从而避免了过去的无意义而又重复的开发。
这项设计的的原理包括:
1) 使用工厂模式构建数据访问层,以便于克服数据库转换引起的问题;
2) 利用反射技术动态构建所需的SQL语句,以避免频繁的、低效的SQL语句编写;
3) 引入数据实体层;
您可能关注的文档
- 基于MATLAB设计巴特沃斯低通滤波器.doc
- 基于MATLAB信号处理工具箱的数字滤波器设计与仿真.doc
- 江西绿色食品集团邀约说明书.doc
- 某别墅家庭智能化系统设计方案1.doc
- 太阳能热水工程施工组织设计书01.doc
- 线路运行管理标准.doc
- 液压传动设计元件.doc
- 张杰煤气报警器毕业设计_secret01.doc
- 培训手册作业.doc
- 基于业务平台的中小企业ERP系统开发.doc
- 10《那一年,面包飘香》教案.docx
- 13 花钟 教学设计-2023-2024学年三年级下册语文统编版.docx
- 2024-2025学年中职学校心理健康教育与霸凌预防的设计.docx
- 2024-2025学年中职生反思与行动的反霸凌教学设计.docx
- 2023-2024学年人教版小学数学一年级上册5.docx
- 4.1.1 线段、射线、直线 教学设计 2024-2025学年北师大版七年级数学上册.docx
- 川教版(2024)三年级上册 2.2在线导航选路线 教案.docx
- Unit 8 Dolls (教学设计)-2024-2025学年译林版(三起)英语四年级上册.docx
- 高一上学期体育与健康人教版 “贪吃蛇”耐久跑 教案.docx
- 第1课时 亿以内数的认识(教学设计)-2024-2025学年四年级上册数学人教版.docx
文档评论(0)