參考資料:http://www.reibang.com/p/a15d6e68d93f
MVVM 是從 MVP 的進(jìn)一步發(fā)展與規(guī)范厘惦,MVP 隔離了 M 與 V 的直接聯(lián)系后,靠 Presenter 來(lái)中轉(zhuǎn)哩簿,所以使用 MVP 時(shí) P 是直接調(diào)用 View 的接口來(lái)實(shí)現(xiàn)對(duì)視圖的操作的宵蕉,M 與 V是隔離了,方便測(cè)試了节榜,但代碼還不夠優(yōu)雅簡(jiǎn)潔啊羡玛,所以 MVVM 就彌補(bǔ)了這些缺陷。
概述
MVVM模式包含了三個(gè)部分:
Model :基本業(yè)務(wù)邏輯
View :視圖內(nèi)容
ViewModel: 將前面兩者聯(lián)系在一起的對(duì)象
當(dāng)View有用戶輸入后宗苍,ViewModel通知Model更新數(shù)據(jù)稼稿,同理Model數(shù)據(jù)更新后薄榛,ViewModel通知View更新。
MVP MVVM區(qū)別
可以看到 ViewModel 承擔(dān)了 Presenter 中與 view和 Model 交互的職責(zé)让歼,與 MVP模式不同的是敞恋,VM與 V 之間是通過(guò)** Datebingding 實(shí)現(xiàn)的,而 P是持有 View 的對(duì)象谋右,直接調(diào)用 View 中的一些接口方法來(lái)實(shí)現(xiàn)耳舅。ViewModel可以理解成是View的數(shù)據(jù)模型和Presenter的合體。它通過(guò)雙向綁定(松耦合)解決了MVP中Presenter與View聯(lián)系比較緊密的問(wèn)題倚评。**
相關(guān)內(nèi)容:
數(shù)據(jù)綁定