浅析ASP.NET三层架构在软件开发中的应用
三层架构是指逻辑上的三层架构,通过在客户端和数据库之间引入中间层,将复杂的业务应用进行封装,再从应用模型中分离出来,使得开发的系统更具灵活性、可扩展性和可维护性。
随着软件技术的发展,三层体系架构的应用越来越广泛。平台将前台界面和后台代码进行分离,用模块化的设计方法让程序的可读性更好、执行效率更高。三层架构开发应用软件时,将业务逻辑放在中间层,与用户界面分开。若需要修改应用程序代码,只需要对相应层代码进行修改,而不需要对所有程序进行修改,便于开发人员对系统进行分析、设计和开发。
1 技术
是微软在.NET Framework上提供的一个Web开发平台,是一种建立在公共语言运行库上的程序,可以创建功能强大的Web应用程序。它使用组件技术将客户端浏览器和Web服务器之间的通信进行封装,采用模块化的设计方式将前台界面和后台代码进行分离,让程序的可读性更好、执行效率更高。它全面使用XML配置文件,支持多种客户端类型,在不同的客户端自动生成不同的代码,无需软件开发人员来考虑。它具有更强的安全机制,提供了Windows验证、Passport和Cookie三种不同的登录验证方式确保开发的软件更加安全[1]。采用技术实现对数据库的访问,可以实现对表格类数据库、关系型数据库、非结构数据库和文字数据库(如XML文件)等数据源的访问,可以通过Dataset和.NET Framework两个核心组件完成从数据操作中分解出数据访问的功能[2]。
2 三层架构
三层架构,是对传统的C/S结构的发展,它在客户端和数据库之间加入了一个中间层。它将整个系统的业务应用自上而下从逻辑上划分为:表现层、业务逻辑层、数据访问层,而最上层表现层,直接在客户端与用户发生交互,接收用户输入的数据,显示系统处理的数据结果给用户。中间层业务逻辑层,是数据访问层和表现层之间数据交换的纽带和桥梁,负责对数据进行传递和处理,可以实现对数据有效性的检验、业务的逻辑描述等功能。为表现层提供调用接口,同时又可以调用数据访问层[3]。最下层数据访问层,为业务逻辑层或表现层提供数据服务,根据业务逻辑层的数据处理请求对数据库进行访问,真正完成数据的处理操作。这种三层架构的设计,每一层只实现相应层的功能,层与层之间的交互由相邻层对应的功能模块进行调用,数据和信息的传递主要通过接口进行传送,达到了“高内聚,低耦合”的目的。这种分层架构,各层之间的联系较少,当其中一层的需求发生变化时,仅需要对相应层中的代码进行修改,增强了代码的可重用性,使系统更具灵活性、可扩展性和可维护性。
3 中的三层架构的搭建
使用 .NET 平台搭建三层结构,如图1所示。在前台网页中使用基于事件的处理,指定处理业务需求的后台代码文件。在 .NET中可以方便地实现组件的应用,后台代码中只需要通过对控件进行命名,就可以方便地使用自己定义的组件[4]。表现层由 Web 窗体和用户控件构成,主要包括ASPX 文件及相应的CS文件。业务逻辑层通过Web表单的提交、Web 服务的调用和与其他服务组件的对接来实现,通常以类库的形式来实现。数据访问层主要采用技术来实现对数据库的访问操作。
4 三层架构在公文处理系统中的应用
在公文处理系统中,发文处理阶段的公文审批是较复杂的一个模块。用户的角色不同,具有的权限就不同,可以使用的功能当然不同,即不同的角色的用户具有不同的权限。采用三层架构更方便地实现了每个角色的功能。
4.1 公文审批三层架构
以公文审批设计为例,基于三层架构的公文处理系统,其中数据访问层主要是指与公文审批相关的数据库中的表以及通过对数据库中的数据完成的访问控制。业务逻辑层主要是指对公文处理过程的流程的控制,通过Database类实现与数据访问层的通信。表示层是指在的安全控制下,通过各种页面组件将用户的数据请求信息传递给业务逻辑层,并将业务数据的处理结果反馈给用户。
4.2 三层架构在公文处理系统中的实现
本公文处理系统基于 Framework4.0和C#.NET2010,数据库采用的是SQL Server2008, Web服务器为IIS6.0。这里以公文审批设计为例,来介绍三层架构在公文处理系统中的实现,实现三层架构时采用自下而上的方法,首先创建数据访问层,再创建业务逻辑层,最后来实现表现层。
1)创建数据库
使用 SQL Server 2008 创建一个Tb_documet 数据库 ,在数据库中创建四个表:T_document_info (公文表单信息表)、T_flow_info (公文流程信息表)、T_step_info (公文步骤信息表)、T_document_path (公文路径信息表)等,并设置好各表的主要字段及各表之间的关系。
2) 创建数据访问层
首先用 Visual Studio2010创建一个网站 ,命名为Gwcl,选定网站存储的位置,设置语言为C#,就会生成网站,包括默认页、App_Data文件夹等内容。其次在解决方案资源管理器中添加新项数据集,并在配置向导对话框中选择数据库服务器 ,建立数据库的连接。可以根据需求,为数据库中的表建立插入、删除、查询、修改等操作等相应方法。
3)创建业务逻辑层。
首先,配置文件中的参数来连接数据库,数据库的连接信息在文件中的字段设置,指定数据库服务器的名称、数据库的名称、ID和密码。其次,在App_Code文件夹中创建BLL类文件。最后利用BLL类对类型化数据集进行访问。所有的数据库操作都通过调用Database类实现。
4)表示层的实现
表示层主要利用丰富的页面组件,设计网页的界面,实现用户与应用程序的交互。
5 总结
使用 三层架构开发软件,表现层不需要直接与数据层关联,只需要调用业务逻辑层提供的方法;业务逻辑层根据数据访问层提供的方法可以自定义一些业务逻辑,不需要了解数据访问层的具体实现;数据访问层负责对数据库的访问,只需通过修改相关的 SQL 语句和参数就可以对通用的方法进行调用。这种分层架构各层之间职责明确,便于软件开发人员对应用程序进行管理、维护和升级。
作者:李英 李建文 来源:电脑知识与技术 2015年28期