admin 管理员组文章数量: 1086019
2024年3月28日发(作者:electric与electronic的区别)
维普资讯
曩计模式在 SP.NET系统
任艳斐
Ren Yanfei
Appl iCatiOn of MVC Design Model in System Devolopment Based On ASP.NET
计模式
设
在
基
于
(> 『)
Z (濮阳职业技术学院信息工程系,河南濮阳457000)
(Department of Math and Engineering,Puyang Voctional Institute,Henan Puyang 457000) 系
摘要:介绍了MVC设计模式的概念,讨论了MVC设计模式在ASP.Net环境下的实现,并对MVC在ASP.NET环境下的应
统
开
用特性进行了分析。
关键词:MVC设计模式:视图:控制器:ASP.NET
中图分类号:TP393 文献标识码:A 文章编号:1 67 1—4792一(2008)5—0022—03
Abstract:Introduces the conception of the MVC design model and carry on appl ication ofsystem based on ASP.
NET.Finally.analys characteristics of MVC modle usjng system devolpment on ASP.NET.
发
中
的
应
用
Kevwords:MVC Design Modle;View:Control ler;ASP.NET
0引言 信息,对于相同的信息可以有多个不同的显示形式。控制器
ASP.NET是微软最新推出的新型体系结构,它为构建新
代网络分布式应用提供了强有力的支持。与以前的Web开
发模型相比,ASP.NET有许多优点,例如:简易性、安全
一
是处理用户与软件的交互操作的,其职责是控制提供模型中
任何变化的传播,确保用户界面与模型间的对应联系,还可
接受用户的输人,将输人反馈给模型,进而实现对模型的计
算控制,是使模型和视图协调工作的部件。模型保存由视图
显示、由控制器控制的数据,它封装了问题的核心数据、逻
辑和功能的计算关系,它独立于具体的界面表达和i/o操作。
模型、视图与控制器的分离,使得一个模型可以具有多个
显示视图。如果用户通过某个视图的控制器改变了模型的数
性、可管理性等。而且与基于过程的Web页面技术相比,面
向对象技术在ASP.NET巾得到了完全实现。但传统的Web设
计技术和方法还在制约着.NET技术的广泛应用,如在传统的
Web页面中页面显示,业务逻辑和流程控制耦合在一起,从
工程化的角度考虑,有许多不足之处。用户界面承担着向用
户显示问题模型和i/o交互操作的作用,用户希望保持交互
操作界面的相对稳定,但更希望根据需要改变和调整显示的
内容和形式。ASP.NET技术结合MVC设计模式能够很好地解
决上述问题。
据,所有其它依核于这些数据的视图都应反映到这些变化。
因此,无论何时发生了何种数据变化,控制器都会将变化通
知所有的视图,导致显示的更新,这实际上是一种模型的变
化一传播机制。
1 MVC设计模式概述
1.1 MVC的基本概念
1.2 MVC设计模式的优点
MVC的优点体现在以下几个方面:①可以为一个模型在
MVC设计模式是Model(模型)一View(视 ̄)-Controller
(控制器)的简称。MVC模式最先被用在第一代基于视窗的计
算机上管理GUI和用户交互,近些年广泛应用在J2EE平台上。
近两年来,随着ASP.NET技术在大型Web应用上的地位得到
运行时同时建立和使用多个视图。变化一传播机制可以确保
所有相关的视图及时得到模型数据变化,从而使所有关联的
视图和控制器做到行为同步;②视图与控制器的可接插性,
允许更换视图和控制器对象,而且可以根据需求动态的打开
巩固,MVC这个广为人知的设计模式在.NET平台上也逐渐开
始得到应用,, 已成为当今设计交互式应用事实上的标准。
MVC模式的模型、视图 控制器三个组成部分,允许各个组
或关闭、甚至在运行期问进行对象替换;③模型的可移植
性。因为模型是独立于视图的,所以可以把一个模型独立地
移植到新的平台工作,需要做的只是在新平台上对视图和控
件间松散地藕合。这使得程序开发更加灵活,并且可以减少
重复性代码,实现代码重用。视图把表示模型数据及逻辑关
系和状态的信息以特定形式展示给用户,它从模型获得显示
制器进行必要的修改;④潜在的框架结构。可以基于此模型
建立应用程序框架,不仅仅是用在界面的设计中。
2 MVC设计模式的实现
1 Q
维普资讯
2.1 MVC模型实现
ASP.NET提供了实现MVC设计模式的天然环境 ASP.NET
采用code-behind代码来处理显示页面的用户交互,即每个
aspx文件都对应一个code—behind源代码文件,来实现逻辑
控制代码、脚本语言、ItTML的分离。ASP.NET应用系统按照
三层Web结构划分为表示层、业务层、和数据层。表示层由
//调用数据库操作的基本类中RunSgl()方法
)
)
Control ler不直接对Model中的数据逻辑进行操作,而
是通过业务逻辑获取数据层(DAO)中的数据对象。Biz层由类
(.CS)文件组成,其中业务逻辑组件封装了具体的处理逻辑。
Web窗体组成,实现视图和控制器的功能;业务层包括业务实
体组件和业务逻辑组件;数据层包括数据对象、数据访问组
件等。由业务层和数据层共同实现模型的功能。以下以Web
系统中常见的用户信息查询模块为例,探讨MVC设计模式在
ASP.NET应用中的实现机制。
Model用来管理应用程序域的行为和数据。在本系统中
将业务逻辑、与数据库连接和交互的公共操作封装在单独的
类中,用专门的类来处理业务逻辑和数据逻辑,从而提高了
代码的重用性。具体实现方式为:在公用的基本类库中,定
义DataBase类作为公共数据库操作的基本类,在DataBase
类中实现与数据库连接和交互的公共操作的代码如下:
Public class DataBase;//对数据库操作的基本类
(
Public DataSet RunSql(string sQL);
//执行SQL语句,返回DataSet对象
(
sqlconnection=new sqlconnection(ConnStr);
//建立SQL连接
sqlDataAdapter da =new sqlDataAdapter (SQL,
Conn);
//创建sglDataAdapter对象并实现连接打开和关闭
DataSet ds=new DataSet();//创建DataSet对象
da.F{11(ds);//填充数据到DataSet巾
da.Dispose();//释放sqlconnection对象
return ds;//返回DataSet对象
)
)
应用程序在数据访问层(DAO)中通过引用公用基本类中
的方法RunSql 0来获取数据对象,下面的数据层实现所有用
户的基本信息,具体方法如下:
Pub1 ic class User I nfoDAO,BaseObdect;
//继承所有数据对象的基类BaseObdect
(
Pub1 ic DataSet GetUserlnfo 0
//从数据库中获取用户信息
{
String sql=”select’from Userlnfo”:
//SQL查询语句
return db.RunSq1(sq1);
以下为根据一个用户ID返回对应的用户信息处理逻辑。
Public Class UserInfoBiz
(
UserI nfoDAO userInfo=new UserlnfoDAO0;
//实例化对应数据逻辑类
Public DataSet GetsingleuserInfo(string ID);
//得到包含用户信息的一个DataSet
{
DataSet ds=user I nfo.GetUserlnfo 0:
7/讽 DAO
UserlnfoDAO类中的GetUserInfo()方法
DataView dr=new DataView();//创建DataView对象
dv.Table=4s.Tables[0】;//ds表数据复制到dv中
dV.RowFilter= userID=”+ID:
//过滤符合ID用户的纪录
DataSet ds 1=(DataSet)dv:
//强制转换为DataSet对象
return(ds1)
)
)
最后,Controller中的事件调用Model中的业务逻辑方
法,并且把响应提交到对应的视图组件以产生响应,完成对
客户端表单数据的描述。
2.2视图的实现
在ASP.NET开发环境中设计视图十分便捷。View由aspx
页面来实现。Visual Studio.NET在视图设计器的工具箱中
提供了数据、Web窗体、组件、HTMI,等各种控件,同时还提
供了用户控件。用户控件是一种直观的可重用的模型,扩展
名为.aspx。它可以是最简单HTML控件、服务器控件或多个
控件嵌套构成的Web自定义控件。通过以上各种控件,可以
像开发Window界面一样以所见即所得的方式进行可视化设
计。本系统中视图与各模块中的aspx文件相对应,aspx文
件与系统中的各个用户界面相对应。
2.3控制器的实现
ASP.NET中的代码分离机制使View中的代码与Mode及
Controller中的代码能够很容易分离。每个aspx文件对应
了一 个后端代码,通过该后端代码来实现Contro l l er的功
能。每个aspx页面都有一种机制,将页面巾的控件所要调用
的方法在一个与其分离的类巾实现。aspx和ascx文件后端
维普资讯
代码继承了System、UI、Web、Page的类执行控制器功能, e);//提交按钮事件
它包括了各种初始化和控制函数。当加载aspx页面时将调用
Page_Load事件;当aspx页面从内存中被卸载时将调用Page__
UnloadS ̄。如果某个控件触发页面以使其被重新加载则将
(
BinduserInfo();
) <
调用ControlEvent事件。在本系统中,Controller负责接 ) 设
收、截获并处理用户请求和各种事件。通过调用Model中的
业务逻辑组件来获取各种数据对象。根据当前状态和ql, ̄-操
作的结果决定向客户呈现的视图,控制aspx页面的显示。以
常用的用户数据查询模块中视图Userlnfo.aspx对应的Con-
troller为例,说明如何用Controller实现根据用户输入的
3基于ASP.NET的MVC设计模式特性分析
通过上述实现过程进行分析,在ASP.NET中用Mvc模式
开发的应用程序具有如下优点:①减少页面依赖性,提升代
码复用。通过页面中的代码分离,可降低系统设计的复杂性,
减少页面中的重复代码;②系统结构清晰,增加系统的可扩
计
模
式
在
基
于
ID号查询个人基本信息,具体实现如下:
Public class Userlnfo:System.UI.Psge
(
Protecred System.Web.UI.WebControls.DataGrid
dgUserlnfo;
∥声明DataGrid控件
Protected SyStem.Web.UL.WebControlS.
ButtonbtnSubmit;
//声明Button控件,提交按钮
Protected System.Web.UL WebControls.TextBoxtblD;
//声明TextBox控件,用户填写ID数据
UserlnfoBiz userlnfo=new UserlnfoBiz();
//实例化对应业务逻辑类
Private void Page-Load(object sender,System,
EventArgs e)
(
If(Is PostBack)
//是否为响应客户端回发而加载该页
(
BindUserInfo0
>
Void BindUserlnfo 0//公共绑定数据方法
t
String id=tbID.Text;
//用户输入在textbox中的数据
DataSet ds=userlnfo.GetSingleUserlnfo(id);
//调用业务逻辑类巾的方法,由GetSingleUserlnfo()调
用DAO内方法获取某一用户信息的数据集
dgUserlnfo.DataSource=ds.Tables【oJ.DefaultView;
//获取数据源
(
dgUserlnfo.Datallind 0;
//绑定控件到指定数据源
void btnSubmit-Cl ick(ObJect sender,EventArgs
展性。MVC模式实现的应用程序具有极其良好的结构和可扩 ∽ >
展性,它可以实现一个模型的多个视图,采用多个控制器,当 Z
模型改变时,所有视图将自动刷新,控制器相互独立工作;③ m
便于优化系统,提高系统性能。由于每次向数据库请求,都 系
要从数据库装载数据,通过公共的数据访问类和ASP.NET的 统
内部机制可以把数据存放在高速缓存中,从而优化整个应用 开
系统的性能;④系统模型独立,提高系统的可测性。模型独
发
中
立于视图,既可以在ASP.NET环境之外用第三方工具测试模 的
型,也可以通过编写测试脚本实现自动化测试,大大提高测 应
试的有效性和效率。 用
在ASP.NET中使用Mvc模式也有不足之处:一方面,控
制器不直接访向数据层,增加了代码的复杂性,对于一些简
单的业务逻辑附加的额外代码所占比重比较大:另一方面,
代码的分离增加了代码的维护成本,如果有涉及三者的变化
时,在不同的文件中修改显然比在同—个文件修改花费的代
价大。因此,在设计系统前权衡这样的代价是必不可少的。
4结束语
本文针对开发ASP.NET应用系统给出了一种可行的Mvc
设计方案,讨论了该方案中MVC模块划分和Web三层结构划
分之问的关系,并给出了每一模块的具体实现。利用该方案
设计的系统具有结构良好、易于维护、易于仲缩等多种优点。
参考文献
【i]邹鹏,尚雄等.基于Mvc模式的客户关系管理系统设
计【JJ.计算机应用研究,2005,(02):21—23.
【2]杨寅华.两类Web服务器数据接口的比较及基于MVC
下的实现【J].计算机应用与软件,2006,(2):69-71.
【3]黎永良,崔杜武.MVC设计模式的改进与应用【J].计
算机工程,2005,(9):96-98.
作者简介
任艳斐(1968一),女,河南濮阳人,讲师,在读软件硕士,
主要研究方向:计算机应用,软件工程。
1 R1
版权声明:本文标题:MVC设计模式在基于ASP.NET系统开发中的应用 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/p/1711607336a602064.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论