MVC和MVVM模式的概念与区别
1.MVC编程模式
MVC的概念: MVC是Model-View- Controller的简写 。即模型-视图-控制器。
运作流程: Model 和 View 是完全分离的,由 Controller 作为中间人来负责二者的交互 。
几乎所有的App都只干这么一件事:将数据展示给用户看,并处理用户对界面的操作。
MVC的思想:一句话描述就是Controller负责将Model的数据用View显示出来,换句话说就是在Controller里面把Model的数据赋值给View,比如在controller中写document.getElementById(“box”).innerHTML = data[”title”],只是还没有刻意建一个Model类出来而已。
2.MVVM编程模式
MVVM的概念: MVVM是Model-View-ViewModel的简写 。 即模型-视图-视图模型。
特点: 在MVVM的框架下,视图和模型是不能直接通信的,它们通过ViewModal来通信,ViewModel通常要实现一个observer观察者,当数据发生变化,ViewModel能够监听到数据的这种变化,然后通知到对应的视图做自动更新,而当用户操作视图,ViewModel也能监听到视图的变化,然后通知数据做改动,这实际上就实现了数据的双向绑定。并且MVVM中的View 和 ViewModel可以互相通信。