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簡介

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