两种模式对比

  • MVVM是Model-View-ViewModel的简写。model指的是数据层。View指的是视图层。ViewModel是该模式的核心,它是连接数据层和视图层的桥梁。它有两个方向:一是将model转化成view,即将数据层的数据转换为视图层显示出来。实现的方式是:数据的绑定。二是将view转化成model,即将所看到的页面转化成数据层的数据。实现的方式是:DOM 事件监听。这两个方向都实现的,我们称之为数据的双向绑定。

  • MVC是Model-View- Controller的简写。M和V也分别指model数据层,view视图层,C即Controller指的是页面业务逻辑。MVC模式是单向通信的。也就是视图层跟数据层必须通过Controller来承上启下。MVC和MVVM的区别并不是VM完全取代了C,ViewModel存在目的在于抽离Controller中展示的业务逻辑,而不是替代Controller,其它视图操作业务等还是应该放在Controller中实现。也就是说MVVM实现的是业务逻辑组件的重用。
总结:在学习这两种架构模式的时候,也许我们根本不用关注我们这个框架它到底是基于MVC还是MVVM,当我们对这两种架构模式有较深的了解之后,可能会发现它们俩的界限也许没有那么重要。我认为对于我们来说,更重要的是理解这两种模式的基本思想,根据我们平常遇到的业务需求,再来选择适合自己业务的框架,这样更有利于项目的高效开发。