一失乾、MVC模式
- View在Controller的頂部现恼,Model在Controller的底部;
- Controller需要關(guān)注View與Model,定義它們之間的接口;
- Model定義了業(yè)務(wù)邏輯卧波,并在數(shù)據(jù)更新之后通知View;
二策橘、MVVM模式
- ViewModel代替了Controller窗悯,在View之下,用于將Model的數(shù)據(jù)映射到View中;
- View接受ViewModel梦皮,ViewModel接收Model的數(shù)據(jù)
三炭分、總結(jié)
- ViewModel其實是將原來寫在視圖或控制器里關(guān)于展示的邏輯分離出來;
- ViewModel負責暴露數(shù)據(jù)對象給View剑肯,此時捧毛,ViewModel更像一個Model而非View;
- MVVM模式是雙向綁定的;通過Binder去同步View和ViewModel的數(shù)據(jù);
如有錯誤呀忧,望指出师痕!
參考:
https://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93viewmodel#cite_note-JoshSmith-3
https://zhuanlan.zhihu.com/p/20715071