ASP.NET 3.5MVC概述

为什么使用ASP.NET 3.5 MVC框架


1.1 Web Forms开发难以调试

       在传统的ASP.NET应用开发中,微软的开发团队为开发者设计了一个较为完整,基于Web Form的开发环境,使得构建Web应用相对容易,开发人员只需在一个可视化设计中拖放控件,然后在表单中设置相关属性即可;开发人员通过编写代码来响应事件,使得对于程序逻辑的操作也变的直观。

      然而在Web Form中,微软构建了一个复杂的引擎,从而给页面的执行过程带来了许多的负面效应。开发者很难了解这背后的HTML是如何运作的,由于编程代码与HTML语言共处于同一页面,所以对于页面设计人员来说非常不友好;同时,如果没有合理控制ViewState的话,很容易得到一个包含大量ViewState的页面,使得该页面的尺寸远远超过所需的内容,最终页面打开的速度异常缓慢;随着Web应用越来越复杂化,不容易测试也越来越成为实际应用开发中的棘手问题。

1.2 ASP.NET 3.5 MVC开发易于测试

      ASP.NET 3.5 MVC框架,避免了很多Web Forms所带来的复杂性,没有数据回传,没有在页面中保存视图状态,开发者可以完全掌握页面的呈现全过程,使用模型、视图及控制器将Web应用划分到不同的组件中,有利于开发人员与设计人员的分工,提高开发效率,同时也提高了程序的可维护性和扩展性,特别是有利于Web应用程序的测试,可以比较容易地实施测试驱动开发

1.3 两种WEB开发技术并存

      ASP.NET 3.5 MVC框架只是给开发者提供了开发WEB应用程序的一种选择,而绝不是替代传统的Web Forms技术,这两种技术在不同的应用场景中,具有不同的优缺点,开发者需要根据自己的实际情况,选择对应的技术,甚至在同一个项目中混合使用这两个技术

      ASP.NET 3.5 MVC框架与Web Forms技术的架构图

)@WK0H)ZB0G3SE_W%G8IINN

          ASP.NET 3.5 MVC框架与Web Forms技术是建立在ASP.NET 3.5基础上的两种平行技术,是微软今后同时发展的两种Web开发技术,需要支持的.NET框架为3.5版本,并且还需要安装SP1更新

基本概念

      MVC(Model View Controller)模式是一种较为广泛应用的结构设计模式,MVC根据一般应用程序功能分为3个主要部门,分别是模型、视图及控制器。

      ASP.NET 3.5 MVC框架基于MVC设计模式,并提供非常方便的测试功能,开发者利用ASP.NET 3.5 MVC框架,借助ASP.NET所提供的母板页及成员管理等技术,可以开发扩展性高、测试容易的Web应用程序,是今后ASP.NET应用的另一个主要方向。

1.1 MVC之间的相互关系

      ASP.NET 3.5 MVC中模型、视图及控制器之间的相互关系。

3$R9RL_WH8WBF1}}($RIKAH

      当用户输入URL地址,获得页面的反馈结果,一般需要经过一下5个步骤

     (1)当用输入URL地址,发送页面请求时,实际上是向控制器发出相关的命令

     (2)控制器接收请求后,向模型请求获得相关的数据 

     (3)模型将对应的数据返回给控制器

     (4)控制器将相关的数据发送到指定的视图 

     (5)指定的视图呈现被指定的数据

       从上述的步骤中可以看出,控制器在其中起着重要的作用,控制器不仅处理用户的请求,还实现与模型之间的交换,对指定的视图发送相关的命令,在实际的ASP.NET 3.5 MVC应用开发中,开发者主要工作是实现控制器的编码

1.2 ASP.NET 3.5 MVC框架的特点

      1. 易于单元测试

         通过模型\视图和控制器,很好的分离了用户输入逻辑、业务逻辑和界面显示逻辑,因此非常容易实现Web应用程序的单元测试,开发者还可以使用任何与.NET框架兼容的其他测试方法。

      2. 容易实施测试驱动开发

     开发者可以使用ASP.NET 3.5 MVC框架实施测试驱动开发,事实上,ASP.NET 3.5 MVC框架本身在开发过程中就是采用的测试驱动开发的

      3. 可扩展、可替换

      ASP.NET 3.5 MVC框架是可扩展的、可被替换的。ASP.NET 3.5 MVC框架中的组件可以被替换或者个性化,例如可以使用其他的视图引擎、URL路由策略等。

      4. 支持Web Forms中有关特性

      ASP.NET 3.5 MVC中,强大的URL映射组件使得开发者开发极其广泛并且可搜索URL的应用程序;在视图模版中支持各种当前的Web Forms页面(.aspx)、用户控件(.ascx)及母板页(.master),还可以使用嵌套母板页、内联表达式、数据绑定、本地化等。

      5. URL被映射到控制器   

      在传统的ASP.NET应用程序中,URL通常被映射为保存在磁盘上一个文件(例如.aspx文件),而在ASP.NET 3.5MVC应用程序中,Url不再被映射为一个文件,URL首先被映射到一个控制器类中,该控制器处理用户的输入,选择适当的模型,获得相关数据,然后调用视图组件显示指定的数据,并返回到用户界面。

posted @ 2013-01-29 00:12  Mister Zhai  阅读(294)  评论(0编辑  收藏  举报