MVC
程序可分爲三個部分:
- 模型 (Model):數據保存
- 視圖(View):用戶界面
- 控制器(Controller):業務邏輯
各部分通信方式:
- View 傳送指令到 Controller
- Controller 完成業務邏輯後,要求 Model 改變狀態
- Model 將新的數據發送到 View
實例:Backbone 的 View 很厚重,主要代碼邏輯都在裏面,而 Controller 很薄弱,只保留了一個 Router
互動模式:
一、
二、
MVP
MVP 模式將 Controller 改名爲 Presenter,同時修改了通信方向
- 各部分之間的通信都是雙向的
- View 和 Model 不發生聯繫,都通過 Presenter 傳遞
- View 很薄弱,而 Presenter 很厚重,所有代碼邏輯都在裏面
MVVM
MVVM 模式將 Presenter 改名爲 ViewModel,基本與 MVP 模式相同
唯一的區別是,它採用了數據雙向綁定(data-binding):View 的變動,自動反映在 ViewModel ,反之亦然