我们先来说说什么是MVC,它的全名是 Model View Controller。
MVC
Model即模型层,它是是用来处理应用程序数据逻辑部分的,模型对象是负责在数据库中存取数据的
View即视图层,它是应用程序中处理数据显示的部分,视图是依据模型数据创建的
Controller即控制器,它是应用程序处理用户交互部分的,控制器是负责从视图读取数据,控制用户输入,并向模型发送数据的
MVC执行流程
MVC不是一种设计模式,而是一种设计思想,为什么这么说呢?
\
设计模式它是一种固定的方法,不灵活,而且有特定的使用场景,而设计思想:是一种思想,比较灵活,由多种设计模式组合实现
MVC的优缺点
\
优点:
降低代码耦合性,方便维护,可以利于分工协作;有利于组件的重用
缺点:
增加了系统结构和实现的复杂性,视图层展示依赖与模型层,视图层需要很少的字段,但是模型层全部提供,性能上有一定影响
MVVM
Model即数据层,从数据库或者后端请求回来的数据,也有可能是自己定义的数据
View即视图层,通常就是DOM层,主要的作用是给用户展示各种信息
ViewModel即视图模型层,是View和Model沟通的桥梁,实现了数据双向绑定
具体可以参考下面的官方图
总结:
MVVM相比于MVC,实现了View和Model的同步,也就是当Model的属性发生改变时,改属性对应的View层显示会自动改变,也就是Vue数据驱动的思想。
而且还简化了业务与界面的依赖,还解决了数据频繁更新的问题