1. 程式人生 > >MVC、MVVM的區別和聯絡

MVC、MVVM的區別和聯絡

網上的資料很多,面試也經常問到,為了進一步加深理解,還是以部落格的方式記錄下來。

**MVC**
MVC是Model-View-Controller的簡寫,
M是後端傳遞的json資料,V是指使用者看到的HTML頁面,C即處理頁面的js邏輯,
MVC是單向通訊,也就是View和Model必須通過Controller來承上啟下。

MVC流程
接受使用者指令時,MVC 可以分成兩種方式。一種是通過 View 接受指令,傳遞給 Controller。Controller對模型進行修改,最後渲染在頁面上。
在這裡插入圖片描述
另一種是直接通過controller接受指令。
在這裡插入圖片描述

**MVVM**
MVVM是Model-View-ViewModel的簡寫,ViewModel存在的目的在於抽離Controller中展示的業務邏輯,
它是View和Model的橋樑,並且它採用的是雙向繫結。
a.屬性繫結,即把後臺傳遞的資料轉化為所看到的頁面;
b.事件繫結,即通過頁面的事件監聽來改變後臺的資料;
雙向繫結僅僅是之前的屬性繫結與事件繫結的結合,指令是[(ngModel)]。

MVVM流程
在這裡插入圖片描述
參考資料:
http://www.ruanyifeng.com/blog/2015/02/mvcmvp_mvvm.html