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