首页 > 常见问题 > mvvm模式和mvc模式的区别是什么?

mvvm模式和mvc模式的区别是什么?

青灯夜游
发布: 2020-07-25 11:17:08
原创
14208 人浏览过

区别:MVC中Controller演变成了MVVM中的viewModel。MVVM主要解决了MVC中大量的DOM操作带来的使页面渲染性能降低,加载速度变慢等问题。MVVM中当和Model频繁发生变化,开发者需要主动更新到View。

mvvm模式和mvc模式的区别是什么?

一、什么是MVVM?

在MVVM框架下视图和模型是不能直接通信的,只能通过ViewModel进行交互,它能够监听到数据的变化,然后通知视图进行自动更新,而当用户操作视图时,VM也能监听到视图的变化,然后通知数据做相应改动,这实际上就实现了数据的双向绑定。并且V和VM可以进行通信。

图片示例如下:

在这里插入图片描述
MVVM模式的优点:

低耦合:View可以独立于Model变化和修改,一个ViewModel可以绑定到不同的View上,当View变化的时候Model可以不变,当Model变化的时候View也可以不变。

可重用性: 可以把一些视图逻辑放在一个ViewModel里面,让很多View重用这段视图逻辑。

独立开发: 开发人员可以专注于业务逻辑和数据的开发,设计人员可以专注于页面的设计。

二、什么是MVC?

MVC是应用最广泛的软件架构之一,一般MVC分为:

Model(模型),View(视图),Controller(控制器)。 这主要是基于分层的目的,让彼此的职责分开.

View一般用过Controller来和Model进行联系。

Controller是Model和View的协调者,View和Model不直接联系。基本都是单向联系。

M和V指的意思和MVVM中的M和V意思一样。C即Controller指的是页面业务逻辑。MVC是单向通信。也就是View跟Model,必须通过Controller来承上启下。

三、mvc与mvvm的区别:

MVC和MVVM的区别并不是VM完全取代了C,ViewModel存在目的在于抽离Controller中展示的业务逻辑,而不是替代Controller,其它视图操作业务等还是应该放在Controller中实现。也就是说MVVM实现的是业务逻辑组件的重用。

- MVC中Controller演变成MVVM中的ViewModel

-MVVM通过数据来显示视图层而不是节点操作

-MVVM主要解决了MVC中大量的dom操作使页面渲染性能降低,加载速度变慢,影响用户体验等问题。

更多相关知识,请访问:PHP中文网

以上是mvvm模式和mvc模式的区别是什么?的详细内容。更多信息请关注PHP中文网其他相关文章!

相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板