一、MVC架構
MVC體繫結構模式將應用程式分成三個主要組件:模型、視圖和控制器。
模型:實現應用程式資料域邏輯的應用程式組件,表示資料和商務規則。
視圖:顯示應用程式使用者介面(UI)的組件。
控制器:處理使用者互動、使用模型並最終選擇要呈現的視圖來顯示UI的組件,處理和響應使用者輸入和互動。
MVC 模式可以建立使應用程式的不同方面(輸入邏輯、商務邏輯和 UI 邏輯)分離的應用程式,同時可在這些元素之間提供鬆散耦合。該模式指定每種邏輯在應用程式中應處的位置。UI 邏輯位於視圖中。輸入邏輯位於控制器中。商務邏輯位於模型中。
二、ASP.NET MVC
ASP.NET MVC是微軟的Team Dev基於MVC開發的一個易於被測試的架構,跟ASP.NET WebForm類似的ASP.NET頁面引擎,它整合了現有的 ASP.NET 功能,如主版頁面和基於成員資格的身分識別驗證等。
三、ASP.NET MVC的特性
應用程式任務(輸入邏輯、商務邏輯和 UI 邏輯)的分離、可測試性和測試驅動的開發 (TDD)。MVC 架構中的所有核心協定都基於介面並且可使用 模擬物件進行測試,模擬物件是模仿應用程式中實際對象的行為的類比對象。您可以對應用程式進行單元測試,而不必在 ASP.NET 進程中運行控制器,這使得單元測試既快速又靈活。您可以使用任何與 .NET Framework 相容的單元測試架構。
可擴充和可插入的架構。設計 ASP.NET MVC 架構的組件的目的是為了可以輕鬆地替換或自訂它們。您可以插入自己的視圖引擎、URL 路由策略、操作方法參數序列化以及其他組件。ASP.NET MVC 架構還支援使用依賴項注入 (DI) 和控制反轉 (IOC) 容器模型。DI 使您能夠將對象注入到類中,而不是依靠類來建立對象本身。IOC 指定某個對象是否需要其他對象,第一個對象應該從設定檔之類的外部源中擷取第二個對象。這樣,測試會更加輕鬆。
廣泛支援 ASP.NET 路由,ASP.NET 路由是一個功能強大的 URL 對應組件,它允許您產生具有易於理解和可搜尋的 URL 的應用程式。URL 未必包含副檔名,並且旨在支援非常適合搜尋引擎最佳化 (SEO) 和具象狀態傳輸 (REST) 定址的 URL 命名模式。
支援將現有 ASP.NET 頁面(.aspx 檔案)、使用者控制項(.ascx 檔案)和主版頁面(.master 檔案)標記檔案中的標記用作視圖模板。您可以將諸如嵌套主版頁面、內聯運算式(<%= %>)、聲明性伺服器控制項、模板、資料繫結、本地化等現有 ASP.NET 功能與 ASP.NET MVC 架構結合使用。
支援現有 ASP.NET 功能。ASP.NET MVC 允許您使用一些功能,如 Forms 身分識別驗證和 Windows 身分識別驗證、URL 授權、成員資格和角色、輸出和資料緩衝、會話和設定檔狀態管理、狀況監控、配置系統以及提供者體繫結構。