📅  最后修改于: 2020-11-21 05:08:28             🧑  作者: Mango
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窗体视为一回事。但是,ASP.NET始终支持两层抽象-
System.Web.UI -Web窗体层,包括服务器控件,ViewState等。
System.Web-它提供了基本的Web堆栈,包括模块,处理程序,HTTP堆栈等。
到2007年发布ASP.NET MVC时,MVC模式已成为构建Web框架的最流行方法之一。
2009年4月,根据Microsoft公共许可证(MS-PL)发布了ASP.NET MVC源代码。 “ ASP.NET MVC框架是一个轻量级,可高度测试的演示框架,与现有的ASP.NET功能集成在一起。
其中一些集成功能是母版页和基于成员身份的身份验证。 MVC框架在System.Web.Mvc程序集中定义。
在2012年3月,微软根据开放源代码许可(Apache许可2.0)发布了一部分网络堆栈(包括ASP.NET MVC,Razor和Web API)。该计划未包括ASP.NET Web窗体。
微软决定创建自己的MVC框架来构建Web应用程序。 MVC框架只是建立在ASP.NET之上。当使用ASP.NET MVC构建Web应用程序时,不会有状态的幻想,不会有页面加载和页面生命周期之类的问题。
ASP.NET MVC的另一个设计目标是可扩展到框架的所有方面。因此,当我们谈论视图时,视图必须由特定类型的视图引擎呈现。默认的视图引擎仍然可以使用ASPX文件。但是,如果您不喜欢使用ASPX文件,则可以使用其他工具并插入自己的视图引擎。
MVC框架中有一个实例化控制器的组件。您可能不喜欢MVC框架实例化控制器的方式,您可能想自己处理该作业。因此,MVC中有很多地方可以注入自己的自定义逻辑来处理任务。
使用“模型视图控制器”设计模式的整个思路是,您要保持关注点的分离。您的控制器不再受与ASP.NET运行时的联系或与ASPX页面的联系的困扰,这很难测试。现在,您只有一个带有常规方法的类,可以在单元测试中调用该类,以找出该控制器是否将正常运行。
以下是使用ASP.NET MVC的好处-
通过将应用程序划分为模型,视图和控制器,可以更轻松地管理复杂性。
启用对呈现的HTML的完全控制,并提供清晰的关注点分离。
对HTML的直接控制也意味着更好的可访问性,以实现对不断发展的Web标准的遵从性。
促进向现有应用程序添加更多的交互性和响应能力。
为测试驱动的开发(TDD)提供更好的支持。
对于大型开发人员团队支持的Web应用程序以及需要高度控制应用程序行为的Web设计人员而言,该方法非常有效。