MVC及MVVM的区别

Javascript在浏览器中操作HTML,经历了若干发展阶段:
第一阶段:直接用JavaScript操作DOM节点,使用浏览器提供的原生API。
第二阶段:由于原生的API不好用,还要考虑浏览器的兼容性,jQuery横空出世,以简介的API迅速俘获了前端开发者的芳心。
第三阶段:MVC模式,需要服务器端配合,JavaScript可以在前端修改服务器渲染后的数据。但是随着交互越来越复杂,MVVM模型应运而生。
MVC的思想就是:controller负责将model的数据用view显示出来。(在controller里面把model的数据赋值给view)
model:是应用程序中用于处理应用程序数据逻辑的部分,同城模型对象负责在数据库中存取数据。相当于是存放数据的地方。
view:使应用程序中处理数据显示的部分,通常试图是依据模型数据创建的。显示数据的地方。
controller:是应用程序中处理用户交互的部分,通常控制器负责从视图中读取数据,控制用户输入,并向模型发送数据。控制数据的地方。


image.png

MVVM 的出现是因为之前需要展示的数据较为简单,基本不需要做什么数据解析之类的操作。但是随着互联网的发展,APP越来越复杂,数据也越来越复杂,controller除了基本的初始化各种view之外。(1、管理自己的生命周期;2、处理Controller之间的跳转;3、实现Controller容器。),还需要对数据进行解析,但是controller被设计出来就没用数据解析的这一项,这就使得controller越来越臃肿,为了改变这种情况,MVVM的设计模式就出现了,VM跟controller相比就是多了一个解析数据的功能。

你可能感兴趣的:(MVC及MVVM的区别)