基于MVC框架的ASP.NET研究
2014-12-11周润苗
周润苗
(湖南应用技术学院信息工程学院,湖南常德 415100)
基于MVC框架的ASP.NET研究
周润苗
(湖南应用技术学院信息工程学院,湖南常德 415100)
ASP.NET支持三种模式:Web Pages、MVC(Model View Controller)以及Web Forms,MVC是较受欢迎的设计模式,在ASP.NET 3.5基础之上,ASP.NET MVC提供了一个新的模型-视图-控制器框架;在Web应用开发技术中,越来越多的软件开发采用了MVC模式。本文将通过对ASP.NET MVC框架的研究来改革ASP.NET的教学内容将其从传统的ASP.NET Web Forms模式转向MVC开发模式。
MVC Web Forms 设计模式
当今软件行业蓬勃发展,对于软件开发,WEB开发是大势所趋,ASP.NET课程是本科及高职院校培养WEB开发人才的一大选择,但许多职业院校ASP.NET教学还停留在的Web Forms模式上,有的甚至采用ASP作为主要教学内容。这将给学生的实际工作带来一定的困扰。
ASP.NET是一个开发框架,用于通过HTML、CSS、JavaScript以及服务器脚本来构建网页和网站。
ASP.NET支持三种开放模式:Web Pages、MVC(Model View Controller)以及Web Forms,在Web应用开发技术中,越来越多的软件开发采用了MVC模式。如何将ASP.NET的教学内容从传统的ASP.NET事件驱动模式转向MVC开发模式是十分有必要的,也是十分紧迫的一项工作。
1 MVC模式
1.1 MVC模式介绍
MVC(Model-View-Controller,模型-视图-控件器)模式是上世纪70年代末提出的,运用于Smalltalk平台上,至今已被广泛使用的一种软件设计模式。MVC模式的目的是增加代码的重用率,减少数据的耦合度,使用软件可维护性,可扩展性、可修复性、封装性和灵活性大提高,跟,随微软公司的.NET战略的推进,越来越多的软件开发人员也将MVC模式应用到ASP.NET开发中去,以缩短系统开发周期,达到节约成本的目的。
MVC模式将应用分为模型、视图和控制器三个部分:
视图(View):数据的展现。视图是用户看到并与之交互的界面。视图向用户显示相关的数据,并能接收用户的输入数据,但是它并不进行任何实际的业务处理。视图可以向模型查询业务状态,但不能改变模型。视图还能接受模型发出的数据更新事件,从而对用户界面进行同步更新。
模型(Model):应用对象。模型是应用程序的主体部分。模型代表了业务数据和业务逻辑; 当数据发生改变时,它要负责通知视图部分;一个模型能为多个视图提供数据。由于同一个模型可以被多个视图重用,所以提高了应用的可重用性。
控制器(Controller):逻辑处理、控制实体数据在视图上展示、调用模型处理业务请求。当Web用户单击Web页面中的提交按钮来发送 HTML 表单时,控制器接收请求并调用相应的模型组件去处理请求,然后调用相应的视图来显示模型返回的数据。
1.2 MVC模式运行机制
如图所示为MVC模式运行机制:
在MVC模式中,Web用户向服务器提交的所有请求都由控制器接管。接受到请求之后,控制器负责决定应该调用哪个模型来进行处理;然后模型根据用户请求进行相应的业务逻辑处理,并返回数据;最后控制器调用相应的视图来格式化模型返回的数据,并通过视图呈现给用户。
1.3 MVC模式的优、缺点
优点:(1)MVC的这种拆分有助于软件开发者管理复杂的应用程序,因为程序员能够在同一时间关注一个方面。例如,程序员可以在不依赖业务逻辑的情况下对视图进行设计。同时对应用程序的设计也更加容易。(2)MVC的这种拆分同时也简化了分组开发。不同的开发人员可同时开发视图、控制器逻辑和业务逻辑。(3)能够对HTML有完全的控制权限,对于前端来说很友好。(4)能够进行单元测试,保证功能的实现。
缺点:(1)没有那么多的现成控件使用,开发效率相对较低。(2)对于大型数据的处理比较难,还是因为没有现成girdview控件。
2 基于MVC框架的ASP.NET教学在我院的实施
2.1 前提
我学院办学以来,非常重视各个学科的专业技能培养,ASP.NET课程是信息工程学院各专业的专业核心课程,校内有专门的ASP.NET WEB开发实训室,学校签署有软件开发公司作为我院web开发的实训基地。
2.2 实施
“基于MVC框架的ASP.NET教学”将作为网站建设实训的内容安排在学生离开学校之前的第五学期,安排在这一学期的目的是学生已完成了asp.net基础,数据库语句,C#等前置课程的学习。通过“基于MVC框架的ASP.NET教学”的学习要求学生掌握:如何用Visual Studio来建立一个ASP.NET MVC Web Application;
如何创建一个新的ASP.NET MVC项目;
如何用SQL Server创建新的数据库;
如何创建ASP.NET MVC的控制器和视图;
如何检索和显示数据;
如何编辑数据和检验数据的有效性;如何更新数据库模式。
2.3 意义
在信息工程学院课程定位及学院“六业”(产业、行业、专业、学业、就业、创业)贯通人才培养模式下,构建跟行业对接的ASP.NET的MVC框架教学模式,具有良好的现实意义,能使学生一走向工作岗位就能很好的适应相应的工作。
3 结语
在高职院校的教学过程中大多采用ASP.NET Webform技术,它更接近可视化设计,开发者只需要从设计面板中拖拽控件即可完成UI,接着在behind code中实现逻辑代码即可完成最后的Web页面功能,这有利于学生学习,但是这种behind code模式存在相应的问题:紧耦合,ASPX.CS文件和ASPX文件却紧密的联系在一起,这将导致系统的耦合度很高,并且很难解耦和,这是一个很头疼的问题;视图展现数据,视图决定了展现的数据,视图的扩展性就很差,如果遇到复杂的数据结构,这种方式就显得力不从心;将behind code当做普通的类来进行单元测试,behind code后台代码在Webform中是一个非常庞大的类,并且不能简单地实例化。
ASP.NET MVC框架是在ASP.NET 3.5版基础之上建立的,程序员可利用现有的ASP.NET 3.5功能,如授权,简介,定位等,使用特定的Visual Studio MVC模板建立自己的Web程序,并为Web应用程序选择特定的单元测试结构。MVC框架的各个环节是完全可扩展的,这使开发人员能够创建复杂的结构,满足他们的需求,开发人员在ASP.NET开发过程中应用非常广泛,这也促使我们教授MVC框架。
[1]邓勇军.基于MVC 设计模式的.NET 产品开发方法探析[J].软件导刊,2008(7):157-159.
[2]汪斌.基于ASP.NET的MVC框架的应用研究[J].电脑知识与技术,2009(7):162-163.
[3]林庆.基于ASP.NET的MVC设计模式的研究[J].计算机工程与设计,2008(1):167-169.
课程名:《ASP.NET开发技术中的MVC框架教学研究》。
周润苗(1984—),女,研究生在读,讲师,研究方向:软件工程。