浅谈ASP.NET三层架构在软件开发中的应用

2015-12-17 01:53李英李建文
电脑知识与技术 2015年28期

李英 李建文

摘要:三层架构是指逻辑上的三层架构,通过在客户端和数据库之间引入中间层,将复杂的业务应用进行封装,再从应用模型中分离出来,使得开发的系统更具灵活性、可扩展性和可维护性。

关键词:数据访问层;业务逻辑层;表现层

中图分类号:TP393 文献标识码:A 文章编号:1009-3044(2015)27-0059-02

随着软件技术的发展,三层体系架构的应用越来越广泛。ASP.NET平台将前台界面和后台代码进行分离,用模块化的设计方法让程序的可读性更好、执行效率更高。ASP.NET三层架构开发应用软件时,将业务逻辑放在中间层,与用户界面分开。若需要修改应用程序代码,只需要对相应层代码进行修改,而不需要对所有程序进行修改,便于开发人员对系统进行分析、设计和开发。

1 ASP.NET技术

ASP.NET是微软在.NET Framework上提供的一个Web开发平台,是一种建立在公共语言运行库上的程序,可以创建功能强大的Web应用程序。它使用组件技术将客户端浏览器和Web服务器之间的通信进行封装,采用模块化的设计方式将前台界面和后台代码进行分离,让程序的可读性更好、执行效率更高。它全面使用XML配置文件,支持多种客户端类型,在不同的客户端自动生成不同的代码,无需软件开发人员来考虑。它具有更强的安全机制,提供了Windows验证、Passport和Cookie三种不同的登录验证方式确保开发的软件更加安全[1]。ASP.NET采用ADO.NET技术实现对数据库的访问,可以实现对表格类数据库、关系型数据库、非结构数据库和文字数据库(如XML文件)等数据源的访问,可以通过Dataset和.NET Framework两个核心组件完成从数据操作中分解出数据访问的功能[2]。

2 三层架构

三层架构,是对传统的C/S结构的发展,它在客户端和数据库之间加入了一个中间层。它将整个系统的业务应用自上而下从逻辑上划分为:表现层、业务逻辑层、数据访问层,而最上层表现层,直接在客户端与用户发生交互,接收用户输入的数据,显示系统处理的数据结果给用户。中间层业务逻辑层,是数据访问层和表现层之间数据交换的纽带和桥梁,负责对数据进行传递和处理,可以实现对数据有效性的检验、业务的逻辑描述等功能。为表现层提供调用接口,同时又可以调用数据访问层[3]。最下层数据访问层,为业务逻辑层或表现层提供数据服务,根据业务逻辑层的数据处理请求对数据库进行访问,真正完成数据的处理操作。这种三层架构的设计,每一层只实现相应层的功能,层与层之间的交互由相邻层对应的功能模块进行调用,数据和信息的传递主要通过接口进行传送,达到了“高内聚,低耦合”的目的。这种分层架构,各层之间的联系较少,当其中一层的需求发生变化时,仅需要对相应层中的代码进行修改,增强了代码的可重用性,使系统更具灵活性、可扩展性和可维护性。

3 ASP.NET中的三层架构的搭建

ASP.NET使用 .NET 平台搭建三层结构,如图1所示。在前台网页中使用基于事件的处理,指定处理业务需求的后台代码文件。在 .NET中可以方便地实现组件的应用,后台代码中只需要通过对控件进行命名,就可以方便地使用自己定义的组件[4]。表现层由 Web 窗体和用户控件构成,主要包括ASPX 文件及相应的CS文件。业务逻辑层通过Web表单的提交、Web 服务的调用和与其他服务组件的对接来实现,通常以类库的形式来实现。数据访问层主要采用ADO.NET技术来实现对数据库的访问操作。

4 ASP.NET三层架构在公文处理系统中的应用

在公文处理系统中,发文处理階段的公文审批是较复杂的一个模块。用户的角色不同,具有的权限就不同,可以使用的功能当然不同,即不同的角色的用户具有不同的权限。采用三层架构更方便地实现了每个角色的功能。

4.1 公文审批三层架构

以公文审批设计为例,基于ASP.NET三层架构的公文处理系统,其中数据访问层主要是指与公文审批相关的数据库中的表以及通过ADO.NET对数据库中的数据完成的访问控制。业务逻辑层主要是指对公文处理过程的流程的控制,通过Database类实现与数据访问层的通信。表示层是指在ASP.NET的安全控制下,通过各种页面组件将用户的数据请求信息传递给业务逻辑层,并将业务数据的处理结果反馈给用户。

4.2 ASP.NET三层架构在公文处理系统中的实现

本公文处理系统基于ASP.NET Framework4.0和C#.NET2010,数据库采用的是SQL Server2008, Web服务器为IIS6.0。这里以公文审批设计为例,来介绍ASP.NET三层架构在公文处理系统中的实现,实现三层架构时采用自下而上的方法,首先创建数据访问层,再创建业务逻辑层,最后来实现表现层。

1)创建数据库

使用 SQL Server 2008 创建一个Tb_documet 数据库 ,在数据库中创建四个表:T_document_info (公文表单信息表)、T_flow_info (公文流程信息表)、T_step_info (公文步骤信息表)、T_document_path (公文路径信息表)等,并设置好各表的主要字段及各表之间的关系。

2) 创建数据访问层

首先用 Visual Studio2010创建一个网站 ,命名为Gwcl,选定网站存储的位置,设置语言为C#,就会生成网站,包括Default.aspx默认页、App_Data文件夹等内容。其次在解决方案资源管理器中添加新项数据集,并在配置向导对话框中选择数据库服务器 ,建立数据库的连接。可以根据需求,为数据库中的表建立插入、删除、查询、修改等操作等相应方法。

3)创建业务逻辑层。

首先,配置Web.config文件中的参数来连接数据库,数据库的连接信息在Web.config文件中的字段设置,指定数据库服务器的名称、数据库的名称、ID和密码。其次,在App_Code文件夹中创建BLL类文件。最后利用BLL类对类型化数据集进行访问。所有的数据库操作都通过调用Database类实现。

4)表示层的实现

表示层主要利用ASP.NET丰富的页面组件,设计网页的界面,实现用户与应用程序的交互。

5 总结

使用 ASP.NET三层架构开发软件,表现层不需要直接与数据层关联,只需要调用业务逻辑层提供的方法;业务逻辑层根据数据访问层提供的方法可以自定义一些业务逻辑,不需要了解数据访问层的具体实现;数据访问层负责对数据库的访问,只需通过修改相关的 SQL 语句和参数就可以对通用的方法进行调用。这种分层架构各层之间职责明确,便于软件开发人员对应用程序进行管理、维护和升级。

参考文献:

[1] 张能立,万歆,王睿.ASP_NET技术及其在企业办公信息系统中的应用[J].计算机与现代化,2005(8).

[2] 韩立华,张志英,王书海. ASP_NET三层架构在科技奖励评审系统中的应用[J]. 电子科技,2010,23(7) .

[3] 岳付强.三层架构在学位论文管理系统中的应用研究[J].西昌学院学报:自然科学版, 2010,24(4).

[4] 李玉荣. 基于_NET的三层架构模式分析及应用[J].电脑编程技巧与维护,2015(8).