本文轉載於:猿2048網站MVC MVP MVVM 圖解php
一、MVC網站
(1)圖解spa
![](http://static.javashuo.com/static/loading.gif)
解釋:雙向綁定
- 視圖(View):用戶界面。
- 控制器(Controller):業務邏輯
- 模型(Model):數據保存
各部分之間的通訊方式以下:blog
![](http://static.javashuo.com/static/loading.gif)
- View 傳送指令到 Controller
- Controller 完成業務邏輯後,要求 Model 改變狀態
- Model 將新的數據發送到 View,用戶獲得反饋
全部通訊都是單向的。部署
(2)通訊:get
具體的通訊方式又分爲2種:it
![](http://static.javashuo.com/static/loading.gif)
![](http://static.javashuo.com/static/loading.gif)
二、MVPim
(1)圖解:通信
![](http://static.javashuo.com/static/loading.gif)
(2)說明
- 各部分之間的通訊,都是雙向的。
- View 與 Model 不發生聯繫,都經過 Presenter 傳遞。
- View 很是薄,不部署任何業務邏輯,稱爲"被動視圖"(Passive View),即沒有任何主動性,而 Presenter很是厚,全部邏輯都部署在那裏。
三、MVVM
![](http://static.javashuo.com/static/loading.gif)
用雙向綁定(data-binding):View的變更,自動反映在 ViewModel,反之亦然。