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設計人員(方便前端工程師的設計工作)。