標籤:原理 業務 模型 模組 多個 基於 web應用 strong 自己
? MVC是 Model-View-Controller的簡稱,即 模型-視圖-控制器。
? MVC它是一種設計模式,它把應用程式分成三個核心模組:模型、視圖、控制器,它們各自處理自己的任務。
MVC(Model-View-Controller)應用程式結構被用來分析分布式應用程式的特徵。這種抽象結構能有助於將應用程式分割成若干邏輯組件,使程式設計變得更加容易。
MVC結構提供了一種按功能對各種對象進行分割的方法(這些對象是用來維護和表現資料的),其目的是為了將各對象間的耦合程度減至最小。MVC結構本來是為了將傳統的輸入(input)、處理(processing)、輸出(output)任務運用到圖形化使用者互動模型中而設計的。但是,將這些概念運用於基於Web的企業級多層應用領域也是很適合的。
在MVC結構中,模型(Model)代表應用程式的資料(data)和用於控制訪問和修改這些資料的商務規則(business rule)。通常模型被用來作為對現實世界中一個處理過程的軟體近似,當定義一個模型時,可以採用一般的簡單的建模技術。
當模型發生改變時,它會通知視圖(View),並且為視提供查詢模型相關狀態的能力。同時,它也為控制器(Controller)提供訪問封裝在模型內部的應用程式功能的能力。
一個視圖(View)用來組織模型的內容。它從模型那裡獲得資料並指定這些資料如何表現。當模型變化時,視負責鑑效組資料表現的一致性。視同時將使用者要求告知控制器(Controller)。
控制器(Controller)定義了應用程式的行為;它負責對來自視的使用者要求進行解釋,並把這些要求映射成相應的行為,這些行為由模型負責實現。在獨立啟動並執行GUI用戶端,使用者要求可能是一些按一下滑鼠或是菜單選擇操作。在一個Web應用程式中,它們的表現形式可能是一些來自用戶端的GET或POST的HTTP請求。模型所實現的行為包括處理業務和修改模型的狀態。根據使用者要求和模型行為的結果,控制器選擇一個視作為對使用者請求的應答。通常一組相關功能集對應一個控制器。
MVC的處理過程:
? 首先控制器接收使用者的請求,並決定應該調用哪個模型來進行處理。
? 然後模型根據使用者請求進行相應的商務邏輯處理,並返回資料。
? 最後控制器調用相應的視圖格式化模型返回的資料,並通過視圖呈現給使用者。
MVC的優點:
? 首先,最重要的一點是多個視圖能共用一個模型。同一個模型可以被不同的視圖重用,大大提高了代碼的可重用性。
? 由於MVC的三個模組相互獨立,改變其中一個不會影響其他兩個,所以依據這種設計思想能構造良好的松耦合的構件。
? 此外,控制器提高了應用程式的靈活性和可配置性。控制器可以用來聯結不同的模型和視圖去完成使用者的需求,這樣控制器可以為構造應用程式提供強有力的手段。
MVC的適用範圍:
? 使用MVC需要精心的計劃,由於它的內部原理比較複雜,所以你需要花費一些時間去理解它。將MVC運用到你的應用程式,會帶來額外的工作量,增加應用的複雜性。
? 但對於開發存在大量使用者介面,並且商務邏輯複雜的大型應用程式,MVC將會使你的軟體在健壯性、代碼重用和結構方面上一個新的台階。儘管在最初構建MVC架構時會花費一定的工作量,但從長遠角度看,它會大大提高後期軟體開發的效率。
mvc簡介