传统MVC
进化MVP
- 1、分离了视图逻辑和业务逻辑,降低了耦合
- 2、降低耦合之后对自动化测试更友好
- 3、利于资源被系统回收解决OOM的问题
新宠MVVM
观察者模式
建立一种对象与对象之间的依赖关系,一个对象发生改变时将自动通知其他对象,其他对象将相应做出反应。 在此,发生改变的对象称为观察目标,而被通知的对象称为观察者,一个观察目标可以对应多个观察者, 而且这些观察者之间没有相互联系,可以根据需要增加和删除观察者,使得系统更易于扩展,这就是观察者模式的模式动机。
发布/订阅模式
发布订阅模式是最常用的一种观察者模式的实现,并且从解耦和重用角度来看,更优于典型的观察者模式
Vue.js 采用了什么设计模式?
Vue.js 的 View 和 Model 是如何关联的?
Vue.js 的双向绑定是怎么实现的?
Vue.js 的依赖收集是如何处理的?