ASP.Net MVC简介

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

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

  • Model(模型)表示应用程序核心(比如数据库记录列表)。
  • View(视图) 显示数据(数据库记录)。
  • Controller(控制器) 处理输入(写入数据库记录)。
    MVC 模式同时提供了对 HTML、CSS 和 JavaScript 的完全控制。

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

ASP.Net MVC历史

作为.Net Framework版本1.0的一部分,ASP.NET 1.0于2002年1月5日发布。 那时,许多开发者很容易把ASP.NET和Web Forms想成是一回事。 但是ASP.NET总是支持两层抽象 -

  • System.Web.UI - Web窗体层,包括服务器控件,ViewState等等。
  • System.Web - 提供基本的Web堆栈,包括模块,处理程序,HTTP堆栈等。

在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窗体不包含在这个计划中。

为什么要ASP.NET MVC?

微软决定创建自己的MVC框架来构建Web应用程序。 MVC框架只是建立在ASP.NET之上。 在使用ASP.NET MVC构建Web应用程序时,不会出现状态幻想,不会出现页面加载和页面生命周期等问题。

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

在MVC框架内有一个组件将实例化控制器。你可能不喜欢MVC框架实例化控制器的方式,可能想要自己处理这个工作。 所以,在MVC中有很多地方可以注入自己的定制逻辑来处理任务。

ASP.NET MVC的好处

以下是使用ASP.NET MVC的好处 -

  • 通过将应用程序划分为模型,视图和控制器,可以更轻松地管理复杂性。
  • 启用对呈现的HTML的完全控制,并提供一个清晰的关注点分离。
  • 直接控制HTML也意味着更好的可访问性来实现对不断发展的Web标准的遵从。
  • 便于为现有的应用程序添加更多的交互性和响应能力。
  • 为测试驱动开发(TDD)提供更好的支持。
  • 适用于大型开发团队支持的Web应用程序以及需要对应用程序行为进行高度控制的Web设计人员(方便前端工程师的设计工作)。

上一篇: 下一篇: ASP.Net MVC模式