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 設計師。

廣告