ASP.NET MVC几个版本的比较

ASP.NET 是一个使用 HTML、CSS、JavaScript 和服务器脚本创建网页和网站的开发框架。

ASP.NET 支持三种不同的开发模式:Web Pages(Web 页面)、MVC(Model View Controller 模型-视图-控制器)、Web Forms(Web 窗体)


MVC 编程模式

MVC 是三种 ASP.NET 编程模式中的一种。

MVC 是一种使用 MVC(Model View Controller 模型-视图-控制器)设计创建 Web 应用程序的模式:

  • Model(模型)表示应用程序核心(比如数据库记录列表)。

  • View(视图)显示数据(数据库记录)。

  • Controller(控制器)处理输入(写入数据库记录)。

MVC 模式同时提供了对 HTML、CSS 和 JavaScript 的完全控制。



MVC 模式定义 Web 应用程序,带有三个逻辑层:

业务层(模型逻辑)

显示层(视图逻辑)

输入控制(控制器逻辑)

Model(模型)是应用程序中用于处理应用程序数据逻辑的部分。通常模型对象负责在数据库中存取数据。

View(视图)是应用程序中处理数据显示的部分。通常视图是依据模型数据创建的。

Controller(控制器)是应用程序中处理用户交互的部分。通常控制器负责从视图读取数据,控制用户输入,并向模型发送数据。

MVC 分层有助于管理复杂的应用程序,因为您可以在一个时间内专门关注一个方面。例如,您可以在不依赖业务逻辑的情况下专注于视图设计。同时也让应用程序的测试更加容易。

MVC 分层同时也简化了分组开发。不同的开发人员可同时开发视图、控制器逻辑和业务逻辑。


Web Forms 对比 MVC

MVC 编程模式是对传统 ASP.NET(Web Forms)的一种轻量级的替代方案。它是轻量级的、可测试性高的框架,同时整合了所有已有的 ASP.NET 特性,比如母版页、安全性和认证。



 MVC各版本比较

MVC 1.0

 view接收用户输入,把命令传到controller ——>> controller处理命令,更新model ——>> model被更新后,会通知view需要update ——>> view更新后向用户显示


MVC 2.0

由于mvc1中,model可以通知view,然后view就可以被更新,这在windows程序中很常见,像MFC的frame-document-view架构,如果document改变了,他会主动通知view进行update。

但是在web中,作为model的java bean更新后,无法调用作为view的jsp(而且view通常很多,需要选一个),因此改为mvc2模式:


view接收用户输入,把命令传到controller ——>> controller处理命令,更新model ——>> model被更新后,controller会选一个view并forward到这个jsp,附带把model放到request参数 ——>> 这个view获得model然后显示


MVC2.0的新特性主要有:

  1.Areas:允许组织多个逻辑层,便于团队开发。

  2.UIHelpers:可以使用strongly-typedhelpers修改和展示数据,更易于维护旧有程序,从而提供高开发效率。

  3.服务器端验证:可以使用声明式注解定义模型的验证规则。

  4.客户端验证:自动产生基于模型验证的客户端验证。


MVC 3.0


新特性重点解析:

  ASP.NETMVC3.0带来了一个新名为Razor视图引擎,其提供以下优点:

  一、新加技术或属性

  1. 支持多视图引擎:在新建项目对话框中,你可以指定项目默认的视图引擎。

  2. ActionResult类型:MVC3.0中ActionResult新添加的

  3. 远程验证:一个新标签RemoteAttribute对jQuery.Validate插件的远程验证提供支持。

  二、属性的改进:

  1. 新的ViewBag属性:将MVC2.0中的ViewData属性改变为MVC3.0中ViewBag来更加简单的完成。

  三、技术的改进:

  1. 控制器改进:允许你将过滤器加入到GlobalFilters集合中区来创建全局的过滤器,也就是说提供过滤器等功能例如:Filter功能,在执行Action之前先执行了转化字符集的filter或者监听器等,纵向切入型技术。

  2. JavaScript和Ajax改进:新添Javascript库,验证助手默认使用的是jQuery.Validate插件完成。

  3. ValidationAttribute类:在。NETFramework4中改进了ValidationAttribute类支持新的IsValid重载

  4. 默认启用了客户端验证

  5. Model验证的改进

  6. 接口验证


MVC 4.0


重点分析:新添WebAPI,Mobile Application,以及Single Page Application.

  WebAPI与SinglePage Application之中,目前view只支持Razer语法。

  WebAPI:其实就是一中建立在RESTful服务基础上的平台,当然一定是HTTP的协定。当您建立好一个空的Web API的MVC项目后,在Controller中你会出现一个新的类别ApiController设定,它先帮你制作 Get(), Post(),Put(), Delete() 等方法,其中 Get() 有一个是Overloading传回IEnumerable<T> 的方法,这也是Web API主要强大的特性之一,强行别的HttpWebRequest.

  首先JQuery以及其他的一些脚本版本进行了升级,当然也移除了微软自己的AJAX库。使用HTML5来布局。

  ASP.NET Web API(支持Rest风格接口)

  ASP.NET Single Page Application(单页面应用程序)

  Enhancements to Default Project Templates(完善了项目模板)

  Mobile Project Template(手机项目模板)


MVC 5.0

MVC5 (需要.net 4.5.1 )多了对 webapi 2.0的支持。

—— 完 ——
相关推荐
评论

立 为 非 似

中 谁 昨 此

宵 风 夜 星

。 露 , 辰

文章点击榜

细 无 轻 自

如 边 似 在

愁 丝 梦 飞

。 雨 , 花