MVC MVP MVVM模式簡介及區別

2021-09-26 07:56:01 字數 1539 閱讀 7973

mvc全名是model view controller

m——模型(model)

v——檢視(view)

c——控制器(controller)

mvc是將業務邏輯、資料、介面顯示分離,將業務邏輯聚集到乙個部件裡面,在改進和個性化定製介面及使用者互動的同時,不需要重新編寫業務邏輯。

model(模型)是應用程式中用於處理應用程式資料邏輯的部分。

view(檢視)是應用程式中處理資料顯示的部分。

controller(控制器)是應用程式中處理使用者互動的部分。

優點:耦合性低、重用性高、生命週期成本低、部署快、可維護性高、有利軟體工程化管理

缺點:由於模型和檢視要嚴格的分離,這樣也給除錯應用程式帶來了一定的困難。每個構件在使用之前都需要經過徹底的測試。

總結:剪不斷理還亂

mvp的全名是model view presenter

m——資料層(model)

v——檢視層(view)

p——發布層(presenter)

作為一種新的模式,mvp與mvc有著乙個重大的區別:

mvp中view並不直接使用model,而是通過presenter來進行通訊、互動,模型與試圖分離

mvc中view會直接從model中讀取資料而不是通過 controller。

mvp 模式將 controller 改名為 presenter,同時改變了通訊方向。各部分之間的通訊,都是雙向的。

view 與 model 不發生聯絡,都通過 presenter 傳遞。

view 非常薄,不部署任何業務邏輯,稱為」被動檢視」(passive view),即沒有任何主動性

而 presenter非常厚,所有邏輯都部署在那裡。

總結:頭重腳輕

mvvm的全名是model view viewmodel

m——模型(model)

v——檢視(view)

vm——viewmodel(binder所在層)

mvvm是一種基於mvc的設計,開發人員在html上寫一些bindings,利用一些指令繫結,就能在model和viewmodel保持不變的情況下,很方便的將ui設計與業務邏輯分離,從而大大的減少繁瑣的dom操作。

view是具有主動性的,因為它包括了一些資料繫結,事件,和行為,這些都會直接影響model和viewmodel的。它不但負責保持view自身的行為(展示),而還會將自身的變化同步到viewmodel中。

viewmode是乙個藏在view後面的好幫手,它把view需要的資料暴露給它,並且賦予view一定的行為能力。

總結:更靈活高效

MVC MVP MVVM模式的區別

一 mvc模式 1.可以分為三個部分 2.對於三層之間的通訊 都是單向通訊 注 mvc中view會直接從model中讀取資料而不是通過controller,controller在其中只是乙個連線的作用 二 mvp模式 mvp從mvc演變而來,通過表示器將檢視與模型巧妙地分開。在該模式中,檢視通常由表...

MVC MVP MVVM框架模式介紹

寫這篇隨筆完全是為了加深自己的印象,畢竟寫比看能獲得得更多,另外本人對這三種模式的認識還是淺薄的,有待在以後的工作學習中有更深入的理解,因此不免會有誤解,這裡推薦大家閱讀廖雪峰關於mvvm的介紹,以及阮一峰的mvc,mvp 和 mvvm的圖示及談談mvc模式,相信您會有更深刻的理解。mvc mvp及...

MVC,MVP,MVVM三種模式

mvpmvvm 總結mvc model view controller 是最常見的軟體架構之一,業界有著廣泛應用。它本身很容易理解,但是要講清楚,它與衍生的 mvp 和 mvvm 架構的區別就不容易了。m model代表資料層 儲存資料 v view檢視層,使用者看到的介面 c controller...