ASP.NET MVC - 概述



ASP.NET MVC 基本上是微软的一个 Web 开发框架,它结合了 MVC(模型-视图-控制器)架构的功能、敏捷开发的最新理念和技术,以及现有 ASP.NET 平台的最佳部分。

ASP.NET MVC 并不是从零开始构建的。它是传统 ASP.NET Web 窗体的完整替代方案。它构建在 ASP.NET 之上,因此开发人员在构建 MVC 应用程序时可以享受几乎所有 ASP.NET 功能。

Building MVC Application

历史

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 月,ASP.NET MVC 源代码在 Microsoft Public License (MS-PL) 下发布。“ASP.NET MVC 框架是一个轻量级、高度可测试的表示框架,它与现有的 ASP.NET 功能集成在一起。

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

2012 年 3 月,微软在其 Web 堆栈(包括 ASP.NET MVC、Razor 和 Web API)的一部分发布了一个开源许可证(Apache License 2.0)。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 运行时或与 ASPX 页面的很多关联的约束,这很难测试。您现在只有一个带有常规方法的类,您可以在单元测试中调用它以了解该控制器是否将按预期工作。

ASP.NET MVC 的优势

以下是使用 ASP.NET MVC 的优势 -

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

  • 能够完全控制呈现的 HTML 并提供清晰的关注点分离。

  • 直接控制 HTML 也意味着更好地访问以实施符合不断发展的 Web 标准。

  • 促进为现有应用程序添加更多交互性和响应能力。

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

  • 非常适合由大型开发人员团队支持的 Web 应用程序,以及需要高度控制应用程序行为的 Web 设计师。

广告