MVC与MVVM简单介绍

MVC ( model view controller)即数据存储、用户界面、业务逻辑。此框架可以对服务器渲染后的数据进行操作或是修改。说白了,就是所有的通信都是单向的。其工作原理为:
view 传送指令到controller,controller完成业务逻辑后要求model设置状态,model将新的数据发送到view。

MVC与MVVM简单介绍
其缺点为:

  1. 它必须等待服务器端的指示。如果为异步模式,所有节点、数据、页面结构都是后端请求过来的,而前端对页面的控制权将会下降。
  2. MVC的诟病即:model和view不分离!一旦需要修改后端的某类数据,前端便要重新将页面渲染一遍,甚至包括某些js交互…..
  3. 因为前端需要渲染的页面结构大多数都是后端包扎的一大推数据所组成的,这样会给前端开发人员带来极大的不方便。
    类似框架有:Jade、artTemplate、tmpl、kissyTemplate、ejs。。。。

MVVM (model viewmodel view)由model viewmodel view组成,它采用双向数据绑定,view的变化将自动反映到viewmodel上,反之,model的变化也将会自动展示在页面上。把Model和View关联起来的就是ViewModel。ViewModel负责把Model的数据同步到View显示出来,还负责把View的修改同步回Model。

说白了,其核心思想为关注model的变化,让MVVM框架利用自己的机制自动更新DOM,也就是所谓的数据-视图分离,数据不会影响视图。

常见的MVVM框架:Vue.js、AngularJs、ReactJs
MVC与MVVM简单介绍