ASP.NET MVC基本上是Microsoft的Web开发框架,它结合了MVC(模型 - 视图 - 控制器)体系结构的特性,敏捷开发中最新的思想和技术,以及最佳部分.现有的ASP.NET平台.
ASP.NET MVC不是什么东西,它是从零开始构建的.它是传统ASP.NET Web窗体的完全替代方案.它建立在ASP.NET的顶层,因此开发人员在构建MVC应用程序时几乎可以享受所有ASP.NET功能.
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.
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&minus的好处;
使其更容易通过将应用程序划分为模型,视图和控制器来管理复杂性.
实现对呈现的HTML的完全控制,并提供关注点的清晰分离.
对HTML的直接控制也意味着可以更好地实现对不断发展的Web标准的遵从性.
有助于为现有应用添加更多交互性和响应能力.
为测试驱动开发(TDD)提供更好的支持.
适用于大型开发团队支持的Web应用程序以及需要对应用程序进行高度控制的Web设计人员行为.