MVP開發模式的理解過程html
首先代碼分爲三層: model層(數據層), presenter層(控制層/業務邏輯相關) view(視圖層)前端
MVP模式代碼示例 vue
M層在上圖代碼中不太明顯,分析P層和V層是如何通訊:ajax
Presenter是最核心的層,它是視圖層和模型層的中轉站,但大量代碼在操做DOM。後端
MVP的缺陷:設計模式
圖源自維基百科。MVVM的優勢是有助於前端界面開發和後端邏輯的開發分離。其中VM視圖模型是中介者,它負責從模型中轉換數據對象,再呈現對象。從Vue.js的角度去看MVVM模式:框架
Vue框架設計一樣有view層和model層,只是沒有Presenter層,多了一層ViewModel。使用MVVM設計模式開發,咱們不須要關注VM層,這是Vue.js內置的,只須要關注視圖層和模型層。spa
vue代碼中,沒有任何DOM操做,代碼中都是在寫數據和寫HTML也就是model層和view層。vue就是VM層。當視圖層或者數據層發生改變時,VM層都會自動映射到對方。所以使用MVVM框架,最核心的層是數據層。設計
MVP面向DOM開發,MVVM面向數據開發。 MVVM讓代碼量更少3d
原文出處:https://www.cnblogs.com/wljqds/p/MVVM.html