MVC是最經典的開發模式之一,最先是後臺那邊來的,後臺前端的複雜度也上來了,MVC的開發模式也帶進前端了。前端
MVC:blog
MVC有兩個很明顯的問題:開發
1.m層和v層直接打交道,致使這兩層耦合度高後臺
2.由於全部邏輯都寫在c層,致使c層特別臃腫im
爲了解決這兩個問題,MVC的變種模式出現了MVP和MVVM.img
MVP:co
p層代替了了c層,v層和m層的交互被p層隔斷,從理論上去除了v和m層的耦合交互
可是形成p層比原來的c層更加臃腫,爲了緩解這種臃腫,MVVM出現了ps
MVVM開發模式
簡單的來講MVVM其實就是MVP中把P層削弱爲VM層,部分簡單的邏輯職責分給了View層。
例如ng中的ng-if,ng-for....其實就是V層上的簡單邏輯,這樣作使得VM層相比起P層就沒有這麼臃腫了