ASP.NET MVC – 概述

ASP.NET MVC – 概述


ASP.NET MVC 基本上是一个来自微软的 web 开发框架,它结合了 MVC(Model-View-Controller)架构的特点,敏捷开发的最新思想和技术,以及现有 ASP 的最佳部分.NET 平台。

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

构建 MVC 应用程序

历史

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

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

2012 年 3 月,微软在开源许可(Apache License 2.0)下发布了部分网络堆栈(包括 ASP.NET MVC、Razor 和 Web API)。ASP.NET Web 窗体未包含在此计划中。

为什么是 ASP.NET MVC?

Microsoft 决定创建自己的 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 设计人员。

觉得文章有用?

点个广告表达一下你的爱意吧 !😁