幾張圖看明白MVC MVP MVVM

前言

這篇文章整理於阮一峯老師的文章,我整理過來作一下學習記錄,也方便有須要的朋友瀏覽。學習

MVC

MVC由如下三部分組成:spa

圖片描述

  1. 視圖(View):用戶界面
  2. 控制器(Controller):業務邏輯
  3. 模型(Model):數據保存

各部分之間的通訊過程以下:3d

圖片描述

  1. View 傳送指令到 Controller
  2. Controller 完成業務邏輯後,要求 Model 改變狀態
  3. Model 將新的數據發送到 View,用戶獲得反饋

用戶進行操做時,MVC能夠分紅兩種方式。一種是經過 View 接受指令,傳遞給 Controller:雙向綁定

圖片描述

另外一種是直接經過controller接受指令:blog

圖片描述

MVP

MVP 模式將 Controller 更名爲 Presenter,同時改變了通訊方向:圖片

圖片描述

  1. 各部分之間的通訊,都是雙向的
  2. View 與 Model 不發生聯繫,都經過 Presenter 傳遞
  3. View 很是薄,不部署任何業務邏輯,稱爲被動視圖(Passive View),即沒有任何主動性,而 Presenter很是厚,全部邏輯都部署在那裏

MVVM

MVVM 模式將 Presenter 更名爲 ViewModel,基本上與 MVP 模式徹底一致,惟一的區別是,它採用雙向綁定(data-binding),View的變更,自動反映在 ViewModel,反之亦然:部署

圖片描述

相關文章
相關標籤/搜索