mvvm模式和mvc的区别
mvvm模式和mvc的区别是:
MVC和MVVM的区别并不是VM完全取代了C,ViewModel存在目的在于抽离Controller中展示的业务逻辑,而不是替代Controller,其它视图操作业务等还是应该放在Controller中实现。也就是说MVVM实现的是业务逻辑组件的重用。
MVC中Controller演变成MVVM中的ViewModel。
MVVM通过数据来显示视图层而不是节点操作。
MVVM主要解决了MVC中大量的dom操作使页面渲染性能降低,加载速度变慢,影响用户体验等问题。
mvvm模式和mvc模式解耦视图和模型的区别是:
在模式中,每一个视图都有对应的一个ViewModel,同时ViewModel与模型建立联系。当接收到用户请求后,ViewModel获取模型响应数据,并通过数据绑定将相应的视图页面重新渲染。
模型层的数据只需要传入ViewModel即可实现视图的同步更新,从而实现了视图和模型之间的松散耦合。
于MVC不同的是,MVC是系统架构级别的,而MVVM只用于单页面上的。因此,MVVM的灵活型号要远大于MVC。如果将这里的M抛开,只看VVM的话,那就是一个组件(如treeview)的设计模式。所以MVVM模式也是组件开发的最佳实践。