MVVM是Model-View-ViewModel的簡寫
Model層纺棺,我們得有東西充當(dāng)DTO(數(shù)據(jù)傳輸對象)叨恨,當(dāng)然携栋,用字典也是可以的搭盾,編程么,要靈活一些婉支。Model層是比較薄的一層鸯隅,
ViewModel層,就是View和Model層的粘合劑向挖,他是一個放置用戶輸入驗證邏輯蝌以,視圖顯示邏輯,發(fā)起網(wǎng)絡(luò)請求和其他各種各樣的代碼的極好的地方户誓。
View層饼灿,就是UI層幕侠,他的任務(wù)就是從ViewModel層獲取數(shù)據(jù)帝美,然后顯示。
MVVM優(yōu)點
MVVM模式和MVC模式一樣晤硕,主要目的是分離視圖(View)和模型(Model)悼潭,有幾大優(yōu)點
1. 低耦合。視圖(View)可以獨立于Model變化和修改舞箍,一個ViewModel可以綁定到不同的"View"上舰褪,當(dāng)View變化的時候Model可以不變,當(dāng)Model變化的時候View也可以不變疏橄。
2. 可重用性占拍。你可以把一些視圖邏輯放在一個ViewModel里面,讓很多view重用這段視圖邏輯捎迫。
3. 獨立開發(fā)晃酒。開發(fā)人員可以專注于業(yè)務(wù)邏輯和數(shù)據(jù)的開發(fā)(ViewModel),設(shè)計人員可以專注于頁面設(shè)計窄绒,
4. 可測試贝次。界面素來是比較難于測試的,而現(xiàn)在測試可以針對ViewModel來寫彰导。
5. 雙向綁定(data-binding):View的變動蛔翅,自動反映在 ViewModel敲茄,反之亦然
后序
微信小程序就是使用MVVM的一個例子,