MVC是最經典的開發模式之一,最早是后台那邊來的,后台前端的復雜度也上來了,MVC的開發模式也帶進前端了。
MVC:
MVC有兩個很明顯的問題:
1.m層和v層直接打交道,導致這兩層耦合度高
2.因為所有邏輯都寫在c層,導致c層特別臃腫
為了解決這兩個問題,MVC的變種模式出現了MVP和MVVM.
MVP:
p層代替了了c層,v層和m層的交互被p層隔斷,從理論上去除了v和m層的耦合
但是造成p層比原來的c層更加臃腫,為了緩解這種臃腫,MVVM出現了
MVVM
簡單的來說MVVM其實就是MVP中把P層削弱為VM層,部分簡單的邏輯職責分給了View層。
例如ng中的ng-if,ng-for....其實就是V層上的簡單邏輯,這樣做使得VM層相比起P層就沒有這么臃腫了