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层就没有这么臃肿了