基于.NET的开发模式研究

时间:2022-09-06 12:08:39

基于.NET的开发模式研究

摘 要: 在目前的软件体系结构中,三层体系结构作为一种新的开发模式被广泛应用,特别是应用在.NET开发中。文章分析了传统三层体系结构的优缺点,给出了一种基于.NET技术的四层体系结构Web应用的设计方法,并用实例说明了如何构建四层体系结构进行Web应用系统开发。四层体系结构的应用大大提高了开发效率和代码的重复利用率。

关键词: 三层结构; .NET; 效率; 代码重复利用率

中图分类号:TP311 文献标志码:A 文章编号:1006-8228(2013)06-16-02

Study on the development mode based on .NET

Zhou Qin

(Department of Computer Engineering, Dongguan polytechnic College, Dongguan, Guangdong 523808, China)

Abstract: In the current software system structure, three-tier system structure, as a new development model, has been widely applied. Some merits and faults in traditional three-tier architecture are discussed. A design method of four-tier architecture in Web application is given, based on .NET. It is illustrated how to build Web application system using such technology. Meanwhile, an example is given to explain how to use four-tier system structure for Web application system. Application of four layer system structure has greatly improved the developing efficiency and code reusing rate.

Key words: Three-tier architecture; .NET; efficiency; reuse rate

1 B/S三层结构和其优缺点

Web体系结构的发展经历了两层体系结构和三层体系结构阶段。目前,流行的三层Web体系结构主要有基于OMG的CORBA、基于微软的COM+和基于SUN公司的RMI的分布式三层Web体系结构。三层体系结构将应用程序分成三个不同的逻辑层次:表示层,应用逻辑层和数据层[1-2]。

⑴ 表示层

在表示层中,.NET是由 Web Forms来实现的。Web Forms是CLR的程序模型。基于服务器端的动态页面技术,可以在服务器端根据客户端请求和提交的信息,动态地生成与客户端浏览器类型无关的通用HTML页面,也可以根据客户端浏览器类型,生成特定的数据表现形式。

⑵ 应用逻辑层

在.NET中,应用逻辑层根据业务逻辑对数据库中的数据进行查询、增加、删除、修改操作。主要利用.Net Framework中的SqlConnection对象、SqlDataAdapter对象、DataSet对象、SqlCommand对象进行业务类的封装。

⑶ 数据层

数据层是数据库或者数据源。在.NET中,通常它是一个SQL Server或Access数据库,但不仅限于此两种形式,它还可能是Oracle,mySQL,甚至是XML[3-4]。

.NET中的B/S三层结构如图1所示。

[用户][服

(S)][客户端(B)][表示层][应用逻辑层][业务逻辑类][界面][数据库] [数据层]

图1 B/S三层结构

三层体系结构将软件开发分层,将数据库设计和业务逻辑分开来,将界面设计和代码编写分开来。简单来说可以将人员按工作分为界面设计人员、业务实现人员、数据库设计人员。很显然,一个团队采用多层开发就可以合理地分配人员工作,将每个人放置到适合的岗位上,而主要的技术人员重点关注在关键部位的开发工作。

但是采用三层体系结构开发的应用程序,相应的代码都是和开发实例相关的,代码的可移植性和重用性降低,代码无法重用,开发人员再重新开发另外一个应用实例时,又需要重新根据新的实例进行三层开发。

2 四层体系结构模型以及开发实例

为了提高程序的利用率和重用性,给开发人员更好地分工。在三层结构的基础上,把应用逻辑层划分成两层:业务逻辑层和数据访问层。其中数据访问层与具体的开发实例无关,可以把开发人员划分为:

⑴ 界面设计人员:设计程序界面然后将信息提交给业务层,不需要考虑业务层的逻辑关系;

⑵ 业务实现人员:工作是处理界面提交的数据请求完成逻辑流程,再结合数据访问层,不用考虑界面设计的样式、风格,也不用考虑数据库的格式;

⑶ 数据访问层:一般是设计完善的架构系统,基本不需要人员工作,主要是屏蔽掉数据库间的差异,为业务层提供便捷的操作功能;

⑷ 数据库设计人员:负责设计、规划数据库。

我们用一个企业新闻系统中的后台管理部分,来说明利用.NET实现四层结构的Web应用。主要功能是管理员登录进后台后可以进行新闻信息的编辑,管理员能够进行用户的管理。

本实例四层体系结构模型以及人员分工如图2所示。

图2 四层体系结构模型以及人员分工

2.1 数据层

企业新闻的后台部分主要完成新闻信息的管理和后台登录用户的管理。因此数据库设计人员需要创建数据库,需创建的主要表结构有用户表(TB_USER)和新闻信息表(TB_NEWS)。

2.2 数据访问层

该层在实际的开发中基本不需要人员工作,因为该层的开发与具体的应用实例无关,代码可以一次编写多次使用。该层的开发无需关注数据库的结构和具体的业务逻辑,主要是使用.Net Framework中的SqlConnection对象、SqlDataAdapter对象、DataSet对象、SqlCommand对象进行数据库访问类(DB_Help)的封装,DB_Help类直接对数据库进行操作,对应本实例只需完成三个函数:构造函数DB_Help()用来初始化数据库连接对象;查询函数用来执行查询操作;还有一个函数用来执行增加、删除、修改操作。

public DB_Help() //构造函数

{ conn=new SqlConnection(“读取web.config里面的数据库

连接语句”);

}

public DataSet GetDatasetBySQL(string strSQL) //查询函数

public int ExecuteNonQuery(string strSQL)

//执行增加、删除、修改函数

从中可以看出,该层是针对特定数据库管理系统进行数据的操作,与具体数据无关,所以可以重复使用。

2.3 表示层的开发

表示层的开发主要是由界面设计人员负责,根据需求分析进行界面设计,在.NET中主要使用HTML控件和服务器控件,为了把页面结构和表现形式分开,一般采用CSS样式进行控件的外观设计,因此可以写一个通用控件的样式文件comm.css,当需要使用该样式时,只需在页面中通过link命令把样式文件引入。该样式文件也可以用在其他的应用系统的开发中。

从这里可以看出,页面上没有出现与数据库访问相关的代码,表示层的开发无需关注数据库的结构和业务逻辑层的开发。

2.4 业务逻辑层的开发

业务逻辑层主要完成与需求相关的数据访问类的封装,本实例中创建BLL命名空间,主要包含以下几个类。

⑴ User类:根据数据库表TB_USER来创建,该类的数据成员为表TB_USER的字段,成员函数为查询用户函数、删除用户函数、修改用户函数、添加用户函数,其中数据库的执行均调用数据访问层中的函数来完成。

⑵ News类:根据数据库表TB_NEWS来创建,该类的数据成员为表TB_NEWS的字段,成员函数为查询新闻函数、删除新闻函数、修改新闻函数、添加新闻函数,其中数据库的执行均调用数据访问层中的函数来完成。

⑶ Error类:对可能出现的异常信息进行报错提示。

业务逻辑层除了完成这些类的封装之外,还要编写和表示层相关联的程序代码,也就是为表示层中的控件添加响应事件,在响应事件中调用业务逻辑层类中的相关函数来完成操作,并把操作结果显示给用户。

3 结束语

Web应用是当今分布式应用最广泛的应用形式。三层体系结构被开发者广泛使用,三层结构对系统进行了分层开发,使人员分工合理,但是开发的代码不能重复使用。本文提出了基于.NET的四层结构在Web中的应用,在三层体系结构中引入了数据访问层,数据访问层可以多次使用,显著提高了应用程序的跨平台性和互操作性,增强了程序的重复利用率。

参考文献:

[1] 胡迎松,彭利文,池楚兵.基于.NET的Web应用三层结构设计技术[M].

计算机工程,2009.29(8).

[2] 毛德祥,罗荣阁.基于技术的Web应用程序三层设计模型[M].

开发应用,2002.18(3).

[3] 修乾.基于Web的.NET应用系统开发[M].计算机工程,2003.29(21).

[4] 艾迪明框架体系结构[M].计算机工程与应用,2003.

上一篇:德州市2008~临床供血状况调查 下一篇:王忠黎:有志存高远 责任写人生