MVC結構簡介

2022-08-25 20:00:23 字數 1437 閱讀 2012

本文編譯自j2ee的相關文件。

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應用程式中模型、視、控制器三部分的關係: 

圖中實線表示高耦合的依賴關係,虛線表示低耦合的訊息關係。業務模組是不依賴使用者介面的,這樣就隔離了使用者介面的變更對業務程式的影響。使用者介面負責收集使用者的輸入,顯示使用者需要的資料;控制器負責將使用者的請求呼叫到實際的業務程式,也將業務程式處理的結果回送給使用者介面;業務程式具體處理業務操作。同時業務模組可能主動傳送訊息到使用者介面,通知介面顯示資料。 

在具體的環境下,這些因素可能發生一些變化。比如,在web開發中,由於web應用程式的性質,使用者介面是在瀏覽器上執行的,而介面的控制和業務模組在瀏覽器上執行,所以在web應用中通常採用這種典型的mvc模式。並且在web應用中,不存在伺服器主動向客戶端「推」資料,因此從model到view之間的虛線也是不存在的。在windows窗體程式中,控制器和介面經常是合併在一起的,比如mfc框架中使用的document-view模式,其中的document對應mvc中的model,負責儲存業務資料,處理業務邏輯,view相當於mvc中的view+controller,負責使用者介面的顯示、使用者輸入的收集和畫面的跳轉控制。 

MVC結構簡介

本文編譯自j2ee的相關文件。mvc model view controller 應用程式結構被用來分析分布式應用程式的特徵。這種抽象結構能有助於將應用程式分割成若干邏輯部件,使程式設計變得更加容易。mvc結構提供了一種按功能對各種物件進行分割的方法 這些物件是用來維護和表現資料的 其目的是為了將各...

MVC架構簡介

本篇部落格打算簡單介紹一下mvc是什麼,為接下來寫一篇spring mvc和struts2的文章做一下鋪墊。mvc是一種架構設計模式,是一種設計理念。是為了達到分層設計的目的,從而使 解耦,便於維護和 的復用。mvc是3個單詞的縮寫,全稱 model view controller 模型 檢視 控制...

MVC模式簡介

mvc模式 是model view control的簡稱,即模型 檢視 控制器,他是乙個存在與伺服器表達層的模型,他將應用分開,改變了應用之間的高度耦合。mvc 模式將應用分為模型 檢視和控制器三個部分 1.檢視 資料的展現。檢視是使用者看到並與之互動的介面。檢視向使用者顯示相關的資料,並能接收使用...