三层体系结构与数据库编程

三层体系结构与数据库编程

ID:38705012

大小:339.00 KB

页数:16页

时间:2019-06-17

三层体系结构与数据库编程_第1页
三层体系结构与数据库编程_第2页
三层体系结构与数据库编程_第3页
三层体系结构与数据库编程_第4页
三层体系结构与数据库编程_第5页
资源描述:

《三层体系结构与数据库编程》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、三层体系结构和数据库编程(修订版)在ACCP课程体系中,《WinForm高级应用程序开发》教材的前三章ADO.NET讲述的是C#操作SQLServer2000数据库,如果能细心,加耐心地学习并总结,自诩“精通数据库编程”也不为过;然而对于大型的数据库应用系统,或是拥有众多客户端的应用系统,我们需要另外一种“精通”,这就是几乎每个程序员都听说过的“三层体系结构”。本文将阐述三层体系结构和数据库编程间的应用,共分三个部分:第一部分:理论篇第二部分:实战篇第三部分:小结第一部分:理论篇定义:所谓三层体

2、系结构,是在客户端与数据库之间加入了一个“中间层”,也叫组件层。这里所说的三层体系,不是指物理上的三层,不是简单地放置三台机器就是三层体系结构;三层是指逻辑上的三层,即使这三个层放置到一台机器上。三层体系的应用程序将业务规则、合法性校验等工作放到了中间层进行处理。通常情况下,客户端(界面层或表示层,以下都用表示层)不直接与数据库进行交互,而是通过中间层建立连接,再经由中间层与数据库进行交互。从上面的定义中可以分离出三个概念:即表示层,业务逻辑层,数据访问层,这三层的功能和之间的关系并形成三层体系

3、构架。表示层:即界面层,表现方式有WinForm界面或Web界面,尽管表示层并不见得比其它层更重要,但是它几乎得到了全部的荣耀——因为它是唯一的用户可以看到的层。这个层负责与用户进行交互工作。数据访问层:专门负责与数据库进行交互,对数据库表记录的增删改查操作都由该层完成,数据访问层不负责对数据的判断和处理。业务逻辑层:业务逻辑相当与一个桥梁的作用,把界面层和数据访问层衔接起来,该层从数据访问层获取数据,并根据表示层的需要来对数据进行处理。业务逻辑层也可以获得表示层提供的数据,并根据数据访问层的需

4、要对其进行处理。三层之间的调用关系如图:业务逻辑层表示层数据访问层发送请求处理后发送响应请求处理后返回优势比较----传统的C/S模式在传统的数据库应用体系中,客户端与数据库完全分开,在客户端上运行了大部分服务,如数据访问规则、业务规则、合法性校验等等。每一个客户端都存在数据引擎,并且每个客户端与数据库服务器建立独立的数据库连接(DBConnection)。基于该种体系的数据库应用系统的优势:开发周期较短,能够适应大部分中小型数据库应用系统的要求。但是,随着数据库应用的日渐发展、数据容量的不断增

5、加、客户端数量的不断增加,该种体系结构显示出了诸多缺陷,主要体现在以下几个方面:1、可扩充性:对于数据库服务器端,每当建立一个数据连接,就会占用大量的系统资源,当数据连接达到一定数量(如20个)时,数据库服务器的响应速度与处理速度将大打折扣。2、可维护性:基于传统C/S的数据库应用系统,业务规则通常置于客户端应用程序中。如果业务规则一旦发生变化(随便举个例子,如身份证号码有可能升为19位)时,我们就必须修改客户端应用程序,并且将每个客户端进行相应的升级工作。3、可重用性:采用传统C/S的设计模式

6、时,数据库访问、业务规则等都固化在客户端应用程序中。如果客户另外提出了B/S的应用需求,则需要在WEB服务器中重新进行数据库访问、业务规则、合法性校验等编码(例如将数据库访问写入ASP代码),而所做的工作与客户端应用程序中的功能完全重复,从而加大了工作量,又使得程序开发者心里感到极不舒服。可扩充性,可维护性是检验软件质量的重要标志,代码可重用性是面向对象编程的最基本优势,三层体系构架恰恰弥补了传统的C/S模式的不足,针对上述的问题,总结出三层体系构架的优点:1、由于数据访问是通过中间层进行的,因

7、此客户端不再与数据库直接建立数据连接。也就是说,建立在数据库服务器上的连接数量将大大减少。例如一个500个客户端的应用系统,500个客户端分别与中间层服务器建立DCOM连接,而DCOM通讯所占用的系统资源极为有限,并且是动态建立与释放连接,因此客户端数量将不再受到限制。同时,中间层与数据库服务器之间的数据连接通过“连接池”进行连接数量的控制,动态分配与释放数据连接,因此数据连接的数量将远远小于客户端数量。2、可维护性得以提高。因为业务规则、合法性校验存在于中间层,因此当业务规则发生改变时,只需更

8、改中间层服务器上的某个组件(如某个DLL文件),而客户端应用程序不需做任何处理,有些时候,甚至不必修改中间层组件,只需要修改数据库中的某个存储过程就可以了。3、良好的可重用性。同样,如果需要开发B/S应用,则不必要重新进行数据访问、业务规则等的开发,可以直接在WEB服务器端调用现有的中间层(如可以采用基于IIS的WebClass开发,或直接编写ASP代码)。第二部分:实战篇功能定义:登入功能是C/S系统中最常见的模块,针对《教务系统》提出如下业务要求:A:检验教师编号是否合法,否则提示“请输入有

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。