三种框架模式

#MVC

MVC是应用最广泛的软件架构之一,一般MVC分为:Model(模型)、Controller(控制器)和View(视图)。这主要是基于分层的目的,让彼此的职责分开。
View一般都是通过Controller来和Model进行联系的。Controller是Model和View的协调者,View和Model不直接联系。基本联系都是单向。
用户通过Controller来操作Model以达到View的变化。

#MVP

MVP是从经典的MVC模式演变而来的,它们的基本思想有想通的地方:Controller/Presenter负责逻辑的处理,Model提供数据,View负责显示。
在MVP中,Presenter完全把View和Model进行了分离,主要的程序逻辑在Presenter里实现。而且,Presenter与具体的View是没有直接关联的,而是通过定义好的接口进行交互,从而使得在变更View的时候可以保持Presenter不变。

#MVVM

MVVM代表框架有:知名度相对偏低的Knockout、早期的Ember.js,目前比较火热的来着Google的AngularJS,以及Vue.js。
相比前面两种模式,MVVM只是把MVC的Controller和MVP的Presenter改成了ViewModel。View的变化会自动更新到ViewModel,ViewModel的变化也会自动同步到View上显示。
这种自动同步是因为ViewModel中的属性实现了Observer,当属性变更时都能触发对应的操作。

注:Observer即观察者模式,Observer模式定义对象间的一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并自动更新。

猜你喜欢

转载自blog.csdn.net/weixin_42915060/article/details/83061625