ASP.NET MVC - 概述

ASP.NET MVC基本上是Microsoft的Web开发框架,它结合了MVC(模型 - 视图 - 控制器)体系结构的特性,敏捷开发中最新的思想和技术,以及最佳部分.现有的ASP.NET平台.

ASP.NET MVC不是什么东西,它是从零开始构建的.它是传统ASP.NET Web窗体的完全替代方案.它建立在ASP.NET的顶层,因此开发人员在构建MVC应用程序时几乎可以享受所有ASP.NET功能.

构建MVC应用程序

历史记录

ASP.NET 1.0于2002年1月5日发布,作为.Net Framework的一部分版本1.0.那时,很容易将ASP.NET和Web Forms视为同一件事.然而,ASP.NET总是支持两层抽象和减去;

  • System.Web.UI :  Web窗体层,包括服务器控件,ViewState等.

  • System.Web : 它提供基本的Web堆栈,包括模块,处理程序,HTTP堆栈等.

当ASP.NET MVC宣布时在2007年,MVC模式正在成为构建Web框架的最流行方式之一.

2009年4月,ASP.NET MVC源代码在Microsoft Public License(MS)下发布-PL). "ASP.NET MVC框架是一个轻量级,高度可测试的表示框架,它与现有的ASP.NET功能集成在一起.

其中一些集成功能是母版页和基于成员身份的身份验证. MVC框架在System.Web.Mvc程序集中定义.

2012年3月,Microsoft发布了部分Web堆栈(包括ASP.NET MVC,Razor和Web API)一个开源许可证(Apache License 2.0).这个计划中没有包含ASP.NET Web Forms.

为什么选择ASP.NET MVC?

Microsoft决定创建自己的MVC框架来构建Web应用程序.MVC框架简单地构建在ASP.NET之上.当您使用ASP.NET MVC构建Web应用程序时,不会有幻想状态,也不会有像页面加载这样的东西,根本没有页面生命周期等等.

ASP.NET MVC的另一个设计目标是在框架的所有方面都可扩展.所以当我们说说abo视图,视图必须由特定类型的视图引擎呈现.默认视图引擎仍然可以采用ASPX文件.但是如果你不喜欢使用ASPX文件,你可以使用别的东西并插入你自己的视图
引擎.

MVC框架中有一个组件可以实例化你的控制器.您可能不喜欢MVC框架实例化控制器的方式,您可能希望自己处理该工作.因此,MVC中有很多地方可以注入自己的自定义逻辑来处理任务.

使用模型视图控制器设计模式背后的全部理念是保持分离关注.您的控制器不再受到与ASP.NET运行时的许多联系或与ASPX页面的关系的阻碍,这非常难以测试.你现在只有一个带有常规方法的类,你可以在单元测试中调用它来查明该控制器是否会正常运行.

ASP.NET MVC的好处

以下是使用ASP.NET MVC&minus的好处;

  • 使其更容易通过将应用程序划分为模型,视图和控制器来管理复杂性.

  • 实现对呈现的HTML的完全控制,并提供关注点的清晰分离.

  • 对HTML的直接控制也意味着可以更好地实现对不断发展的Web标准的遵从性.

  • 有助于为现有应用添加更多交互性和响应能力.

  • 为测试驱动开发(TDD)提供更好的支持.

  • 适用于大型开发团队支持的Web应用程序以及需要对应用程序进行高度控制的Web设计人员行为.