mvc model , view , controller
mvp model , view , presenter
mvvm model , view , view , viewmodel
mvc模式:
簡介:model - view - controller
mvc模式致力於關注點的切分,這意味著model和controller的邏輯是不與使用者介面(view)掛鉤的。因此,維護和測試程式變得更加簡單容易。
01.model
model代表了描述業務路邏輯,業務模型、資料操作、資料模型的一系列類的集合。這層也定義了資料修改和操作的業務規則。
02.view
view代表了ui元件,像css,jquery,html等。他只負責展示從controller接收到的資料。也就是把model轉化成ui。
03.controller
controll負責處理流入的請求。它通過view來接受使用者的輸入,之後利用model來處理使用者的資料,最後把結果返回給view。controll就是view和model之間的乙個協調者。
mvp模式:
01.model
model層代表了描述業務邏輯和資料的一系列類的集合。它也定義了資料修改和操作的業務規則。
02.view
view代表了ui元件,像css,jquery,html等。他只負責展示從presenter接收到的資料。也就是把模型(譯者注:非modle層模型)轉化成ui。
03.presenter
presenter負責處理view背後所有的ui事件。它通過view接收使用者輸入,之後利用model來處理使用者的資料,最後把結果返回給view。與view和controller不同,view和presenter之間是完全解耦的,他們通過介面來互動。另外,presenter不像controller處理進入的請求。
mvp模式關鍵點:
01.使用者和view互動。
02.view和presenter是一對一關係。意味著乙個presenter只對映乙個view。
03.view持有presenter的引用(譯者注:應該是通過接**互,並不直接引用presenter),但是view不持有model的引用(譯者注:即使介面,也不會)。
04.在view和presenter之間可以雙向互動。
mvvm模式:
mvvm即model-view-view model。這個模式提供對view和view model的雙向資料繫結。這使得view model的狀態改變可以自動傳遞給view。典型的情況是,view model通過使用obsever模式(觀察者模式)來將view model的變化通知給model。
model層代表了描述業務邏輯和資料的一系列類的集合。它也定義了資料修改和操作的業務規則。
02.view
view代表了ui元件,像css,jquery,html等。
03.view model
view model負責暴漏方法,命令,其他屬性來操作view的狀態,組裝model作為view動作的結果,並且觸發view自己的事件。
這個模式被廣泛應用於wpf,silverlight,caliburn,nroute 等。
mvvm模式關鍵點:
01.使用者和view互動。
02.view和viewmodel是多對一關係。意味著乙個viewmodel只對映多個view。
03.view持有viewmodel的引用,但是viewmodel沒有任何view的資訊。
04.view 和viewmodel之間有雙向資料繫結關係。
參考博文:
MVC,MVP,MVVM三種模式
mvpmvvm 總結mvc model view controller 是最常見的軟體架構之一,業界有著廣泛應用。它本身很容易理解,但是要講清楚,它與衍生的 mvp 和 mvvm 架構的區別就不容易了。m model代表資料層 儲存資料 v view檢視層,使用者看到的介面 c controller...
MVC MVP MVVM三種架構模式的區別
一 mvc model view controller mvc是比較直觀的架構模式,使用者操作 view 負責接收使用者的輸入操作 controller 業務邏輯處理 model 資料持久化 view 將結果反饋給view 二 mvp model view presenter mvp是把mvc中的c...
Linux三種網路 vmware三種網路模式
nat 網路位址轉換 預設使用vmnet8 原理 nat是network address translate的簡稱 nat計數應用在internet閘道器和路由器上,比如192.168.0.123這個位址要訪問internet,它的資料報就要通過乙個閘道器或者路由器,而閘道器或者路由器擁有乙個能訪問...