MVC设计模式在ASP.NET平台中的应用探究

2016-06-23 08:44
太原城市职业技术学院学报 2016年4期
关键词:视图控制器模型

姜 翠

(咸宁职业技术学院,湖北咸宁437100)



MVC设计模式在ASP.NET平台中的应用探究

姜翠

(咸宁职业技术学院,湖北咸宁437100)

[摘要]近些年来,随着MVC(Model- View- Controller)设计模式的日趋成熟化,它在ASP.NET平台上的应用也越来越广泛。作为软件设计的经典框架,它通过表示层、数据层与业务层等复合型结构促成了对计算机视图与控制器功能的实现,提升了软件开发的系统性与安全性。本文对MVC设计模式的基本功能及其在ASP.NET平台中的应用特点进行了解析,同时在用户信息查询的基础上,对ASP.NET平台当中MVC设计模式的具体应用进行具体的探讨。

[关键词]ASP.NET;MVC设计模式;视图;控制器;模型

ASP.NET来自于微软公司的新计算体系平台框架,是.NET框架的基本组成部分。该体系结构在很大程度上支持了当前的网络分布式应用,对传统的Web开发模型当中存在的复杂繁琐性以及管理安全性差的缺陷进行了有效的改善,并且实现了比Web页面技术更优越的面向对象技术。但从全局来看,ASP.NET还有不足之处,比如它还依然要在传统的Web页面中显示信息,且业务逻辑与流程控制之间的耦合性依然很高,不利于其工程性应用的发展,同时也影响了用户显示问题模型与用户操作I/O交互作用在主操作界面中的相对稳定性。因此,本文采用了MVC设计模式结合ASP.NET框架,根据现实系统需求改变和调整所显示的内容及形式,希望妥善解决上述问题。

一、MVC的相关理论及设计模式

(一)MVC的基本理论

MVC的基本设计模式包括了模型(Model)、视图(View)、控制器(Controller)三大组成部分。它诞生于20世纪70年代初期,是第一代基于视窗的计算机图形用户界面与用户交互平台。目前,ASP.NET技术在计算机的大型Web方面具有广泛应用,这也为MVC模式融入平台提供了可能。可以说,MVC提升了Web应用的可重用性与可扩展性,将数据访问、业务逻辑和用户接口完全隔离,并进一步强化了计算机项目的可扩展性、可维护性以及代码复用功能,成为了当代设计交互式应用中的基本标准。

如图1中所展示,组成MVC设计模式的三部分为模型、视图与控制器。它们彼此之间存在一定的松散耦合性,提高了程序的开发灵活性,避免重复性代码的高出现率,达成了代码重用功能。

视图通过模型展示相关数据和逻辑关系,凸显MVC设计模式在ASP.NET平台中的重要性,也就是对不同形式的视图进行有效显示;控制器对软件以及用户之间的相关交互操作进行有效处理、控制,同时传达模型的任何变化形式,保证用户与模型之间时刻保持联动性,同时也接收来自于用户的所有信息,最后凸显模型的计算控制能力,所以控制器从整体来看就是模型与视图之间的协调组件;最后是模型,视图实现了模型的存储功能,而控制器则负责管理模型数据,生成基于核心数据的计算关系和逻辑功能,使得模型更具独立性。

从整体来看,视图、控制器与模型三者之间是完全分离的,它们为模型实现了多视图显示功能。但是它们之间又存在联系,如果用户改变了某个视图控制器中有关模型的数据,那么这个视图的数据也会发生改变,牵动控制器中所有视图的变化与更新。可以说,它反映了基于模型数据变化的一种信息传播机制,也体现了MVC设计模式中三者之间的相互关系与各自功能关联。

(二)MVC设计模式在ASP.NET平台建设中所体现的优势

对ASP.NET平台的建设可以在一定程度上强化MVC设计模式的开发及运用,凸显MVC在平台建设中的优势。

1.降低Web页面依赖性

如前文所说,新的MVC设计模式减少了计算机系统对Web主页面的依赖性,提升了对代码的重用功能,这是因为MVC特别强调了ASP.NET平台在建设过程中的页面设计代码分离。

2.ASP.NET平台设计清晰化

MVC的加入让模型能够在同一时间内建立并使用多个视图,使得模型数据变化与传播机制都发生改变,实现了所有关联视图与控制器之间的行为同步。正是这种同步性激发了MVC设计模式在运用程序中可拓展性的发挥,使得平台在实现某些功能时更加轻松协调,允许了多控制器的使用。在这种传播机制下,模型的改变也提升了控制器独立工作的能力。

3.MVC设计模式中模型的可移植性

MVC中的模型全部独立于视图之外,将它们单独移植到某个ASP.NET之外的新平台上,其操作方法就是在新平台上对视图与控制器数据进行全面修改。由此可见,MVC设计模式能够为ASP.NET创造更多全新的平台结构,让MVC设计模式不仅局限于设计基本的系统界面。

二、MVC设计模式在ASP.NET系统中的应用分析

(一)MVC的应用模型分析

ASP.NET为MVC设计模式提供了直接可用的应用环境,利用code- behind代码对显示页面中用户交互功能的处理。在这里,code- behind源代码文件与.aspx文件之间相互对应,脚本语言、HTML代码以及逻辑控制代码之间的分离依靠源代码文件得到最终的实现。此外,ASP. NET这一系统也通过表示层、数据层与业务层三层Web结构划实现了视图与控制器功能,并将MVC中的三大部分映射回ASP.NET的平台结构里面,并基于MVC模式下对ASP.NET平台系统的应用模型进行进一步的构建。以Web系统当中的“用户信息查询模块”为例,应用模型的建立基本实现了MVC在ASP.NET平台中的应用机制。如图2。

(二)视图实现

ASP.NET平台的开发环境当中,视图的设计更加地便捷。利用Visual Studio.NET便可获得视图设计所需的Web窗体、HTML控件以及各种各样的组件。这些控件都镶嵌于Web自定义系统之中,它们帮助计算机的Windows界面实现了对视图的可视化设计,并且让视图与各个模块中的.aspx文件也实现了一一对应,优化了各个用户界面的操作性。

图1  MVC设计模式中各组件类型之间的功能关系示意图

以XX企业的绩效信息平台为例,各个模块与视图当中的.aspx文件一一对应,系统当中的用户界面都有与之相互对应的.aspx文件进行匹配。在XX企业的绩效信息平台系统的设计过程中,通过对责任人、绩效测量员、系统管理人员、企业员工用户的需要进行分析,对测量、分析、修改、评价、查询、指标管理等相关界面进行合理、科学的定义。这其中,“测量”这一核心业务流程最能说明视图设计的实现:系统为视图的设计提供一定的过程选择接口,依照相关的权限,企业测量人员对企业的绩效考核过程进行选择。在测量的过程中,系统提供了一定的时间选择接口,视图当中可以对每一个过程进行测量界面的显示,相关的指标以及时间均为实测值。

(三)控制器实现

MVC设计模式的加入使得ASP.NET平台在代码分离功能机制方面得到了强化,它可以简化视图中的各个代码,使控制器、模型之间的代码分离,使每个.aspx文件都对应一个后端代码.cs,实现控制器功能,使Controller能够更好地接收、截获和处理来自于用户的各种请求与突发事件。就以用户数据查询模块视图UserInfo.aspx所对应的Controller为例,根据用户所输入的个人ID来查询出他的基本信息,所以控制器的具体实现流程为:

Public class UserInfo:System.Web.UI.Page

{Protected System.Web.UI.WebControls.DataGrid dgU-serInfo;//声明DataGrid控件}

Protected System.Web.UI.WebControls.Button btnSubm it;//声明Button控件,提交按钮

Protected System.Web.UI.WebControls.TextBox tbID;//声明TextBox控件,用户填写ID数据

UserInfoBiz useInofo=new UserInfoBiz();//实例化对应业务逻辑类

{Stringid=tbID.Text;//用户输入于textbox中的数据

dgUserIofo.DataSource=ds.Tables[0].DefaultView;//截取数据源

dgUserIofo.DataBind();//绑定控件,联系到指定数据源}

void btnSubmit_Click(Object sender,EventArgs)//提交按钮事件

(四)模型实现

模型在ASP.NET平台的作用就是管理应用程序域中的各种数据和行为,它衔接了数据库与业务逻辑数据,提升了系统的公共交互操作性。在基本类库中定义DataBase类,将其变成能够在系统平台的公共数据库中操作使用的基本类,做到基本类与数据库之间的连接和交互。在此过程中,控制器以后端代码.cs文件来组成新的Biz层,达到完善模型的目的。

图2 在ASP.NET平台中MVC设计模式的应用

参考文献:

[1]库尔班江·托乎提.MVC设计模式在ASP.NET平台中的应用[J].信息系统工程,2015(2)∶14.

[2]陈佳.ASP.NET系统开发中MVC设计模式的应用研究[J].计算机与网络,2009(7)∶46- 52.

[3]徐朝辉,樊银亭.MVC设计模式在ASP.NET应用开发中的研究和实现[J].电脑知识与技术(学术交流),2007,1 (6)∶1536- 1537.

[4]张原,张昭,刘蕊.基于MVC设计模式的虚拟实验平台模块化设计[J].计算机工程与科学,2013,35(8)∶125- 129.

[5]李园,陈世平.MVC设计模式在ASP.NET平台中的应用[J].计算机工程与设计,2009(7):152- 153.

[6]任艳斐.MVC设计模式在基于ASP.NET系统开发中的应[J].科技广场,2008(5)∶168- 169.

[中图分类号]TP308

[文献标识码]A

[文章编号]1673- 0046(2016)4- 0183- 03

猜你喜欢
视图控制器模型
适用于BDS-3 PPP的随机模型
工商业IC卡控制器改造为物联网控制器实践
重要模型『一线三等角』
视图
模型小览(二)
Y—20重型运输机多视图
SA2型76毫米车载高炮多视图
Django 框架中通用类视图的用法
离散型随机变量分布列的两法则和三模型
模糊PID控制器设计及MATLAB仿真