複雜的軟體必須有清晰合理的架構,否則無法開發和維護。
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...