MVC MVP MVVM 軟體架構的理解

2021-10-04 05:48:06 字數 1143 閱讀 5250

複雜的軟體必須有清晰合理的架構,否則無法開發和維護。

mvc、mvp、mvvm 就是常見的軟體架構模式,屬於程式設計的方**。

mvc 是 model-view-controller 的縮寫

較其他模式的特點:

model 和 view 之間存在直接的通訊,而這在其他兩種模式中不存在

優點:缺點:

mvp 是 model-view-presenter 的縮寫

mvp 與 mvc 最重要的差別是model和view之間不進行通訊,都是通過presenter完成。

較其他模式的特點:

各部分之間的通訊,都是雙向的。

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

view 非常薄,不部署任何業務邏輯,稱為"被動檢視"(passive view),即沒有任何主動性,而 presenter非常厚,所有邏輯都部署在那裡。

優點:

缺點:

mvvm 是 model-view-viewmodel 的縮寫

mvvm 模式將 presenter 改名為 viewmodel,基本上與 mvp 模式完全一致。唯一的區別是,它採用雙向繫結(data-binding):view的變動,自動反映在 viewmodel,反之亦然。

較其他模式的特點:

在mvvm架構下,view和 model 之間並沒有直接的聯絡,而是通過viewmodel進行互動,model和 viewmodel 之間的互動是雙向的, 因此view 資料的變化會同步到model中,而model 資料的變化也會立即反應到view 上。

viewmodel 通過雙向資料繫結把 view 層和 model層連線了起來,而view和 model 之間的同步工作完全是自動的,無需人為干涉,因此開發者只需關注業務邏輯,不需要手動操作dom,不需要關注資料狀態的同步問題,複雜的資料狀態維護完全由 mvvm 來統一管理

優點:

缺點:

廖雪峰:mvvm

阮一峰:mvc,mvp 和 mvvm 的圖示

阮一峰:談談mvc模式

掘金:基於vue實現乙個簡易mvvm

掘金:mvc、mvp、mvvm,我到底該怎麼選?

例項說明MVC,MVP,MVVM架構

很早就知道有這三個概念,但是一直都不清楚是怎麼回事,在網上搜尋,都是泛泛而談,沒有具體例子,新手是看不懂的,直到找到這篇文章,我對這三個架構有了更清楚的了解。從乙個簡單的例子去研究這三個架構。注意,mvc,mvp,mvvm中的c,p,vm,下文都要controller指代。需求如下 介面上顯示100...

MVC MVP MVVM架構模式 簡單說

這三種架構模式模式可以說是行業必備知識,不管是開發人員還是需求產品設計人員,都能說上兩句。不過對於開發人員面試的時候還是會經常被問到。一 mvc model view controller mvc是比較直觀的架構模式,使用者操作 view 負責接收使用者的輸入操作 controller 業務邏輯處理...

MVC MVP MVVM三種架構模式的區別

一 mvc model view controller mvc是比較直觀的架構模式,使用者操作 view 負責接收使用者的輸入操作 controller 業務邏輯處理 model 資料持久化 view 將結果反饋給view 二 mvp model view presenter mvp是把mvc中的c...