1. MVC、MVP、MVVM
基礎知識瞭解
- Model-模型:模型表明一個存取數據的對象
- View-視圖:視圖表明模型包含的數據的可視化
- Controller-控制器:控制器做用於模型和視圖上。它控制數據流向模型對象,並在數據變化時更新視圖。它使視圖與模型分離開。
- Presenter-任命者(暫且這麼翻譯):
- ViewModel-視圖模型:視圖模型是暴露公共屬性和命令的視圖的抽象。MVVM沒有MVC模式的控制器,也沒有MVP模式的presenter,有的是一個綁定器。在視圖模型中,綁定器在視圖和數據綁定器之間進行通訊。
MVC
M-model-模型,V-view-視圖,C-controller-控制器。很容易理解的概念,圖形以下。翻譯
MVP
MVP是單詞Model View Presenter的首字母的縮寫。在MVP中View並不直接使用Model,它們之間的通訊是經過Presenter (MVC中的Controller)來進行的,全部的交互都發生在Presenter內部。設計
MVVM
MVVM是Model-View-ViewModel的簡寫。它本質上就是MVC 的改進版。MVVM 就是將其中的View 的狀態和行爲抽象化,讓咱們將視圖 UI 和業務邏輯分開。固然這些事 ViewModel 已經幫咱們作了,它能夠取出 Model 的數據同時幫忙處理 View 中因爲須要展現內容而涉及的業務邏輯。3d
2. MVVM好處
- 低耦合,View能夠獨立於Model變化,使得View和Model的耦合度下降。
- 可重用性加強,將一些視圖的邏輯放在ViewModel裏,可使更多View重用這段視圖邏輯。
- 獨立開發,開發人員能夠專一與業務邏輯和數據的開發(ViewModel)。設計人員能夠專一於界面(View)的設計。
- 其實還有不少,你們能夠本身探索一下