MVVM框架与MVC框架

MVC框架

MVVM框架与MVC框架
将整个前端页面分成View,Controller,Model,视图上发生变化,通过Controller(控件)将响应传入到Model(数据源),由数据源改变View上面的数据。

整个过程看起来是行云流水,业务逻辑放在Model当中,页面渲染逻辑放在View当中,但在实际运用上却存在一个问题:那就是MVC框架允许View和Model直接进行通信!!

换句话说,View和Model之间随着业务量的不断庞大,会出现蜘蛛网一样难以处理的依赖关系,完全背离了开发所应该遵循的“开放封闭原则”。

面对这个问题,MVVM框架就出现了,它与MVC框架的主要区别有两点:
1、实现数据与视图的分离
2、通过数据来驱动视图,开发者只需要关心数据变化,DOM操作被封装了。

MVVM框架

MVVM框架与MVC框架
可以看到MVVM分别指View,Model,View-Model,View通过View-Model的DOM Listeners将事件绑定到Model上,而Model则通过Data Bindings来管理View中的数据,View-Model从中起到一个连接桥的作用。

开放封闭原则:是面向对象的基本原则,可以理解为高内聚、低耦合。
DOM操作:DOM树(html文档解析成的东西),DOM操作是针对这个DOM树的操作,如访问(查找)、创建、添加、删除、替换、插入、复制、移动等。

源自:MVVM框架理解及其原理实现