原文:https://www.yiibai.com/asp.net_mvc/asp.net_mvc_overview.html
ASP.NET MVC基本上是一个来自微软的Web开发框架,它结合了MVC(模型 - 视图 - 控制器)体系结构的特性,它是最新的敏捷开发思想和技术,以及现有ASP.NET平台的最好部分 。
MVC 是一种使用 MVC(Model View Controller 模型-视图-控制器)设计创建 Web 应用程序的模式:
ASP.NET MVC不是从零开始构建的东西。它是传统ASP.NET Web窗体的完全替代方案。它建立在ASP.NET的顶层,因此开发人员在构建MVC应用程序时几乎可以享受/使用到所有的ASP.NET功能。如下架构图所示 -
作为.Net Framework版本1.0的一部分,ASP.NET 1.0于2002年1月5日发布。 那时,许多开发者很容易把ASP.NET和Web Forms想成是一回事。 但是ASP.NET总是支持两层抽象 -
在2007年ASP.NET MVC宣布的时候,MVC模式正在成为构建Web框架的最流行的方式之一。
2009年4月,ASP.NET MVC源代码在Microsoft公共许可证(MS-PL)下发布。 “ASP.NET MVC框架是一个轻量级,高度可测试的演示框架,与现有的ASP.NET功能集成在一起。
其中一些集成功能是母版页和基于成员资格的认证。MVC框架在System.Web.Mvc
程序集中定义。
2012年3月,微软公司以开源许可证(Apache License 2.0)发布了部分Web栈(包括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 MVC的好处 -