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

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

7558b69a81bd508cf0897ea030a38c64.png

一、什么是MVVM?

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

图片示例如下:

96f297f3137b01df40e92ccc2d719232.png

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中文网!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MVVM 模式是一种软件架构模式,它包括三个部分:模型(Model)、视图(View)和视图模型(ViewModel),是一种基于数据绑定技术的前端开发模式MVVM 模式的核心思想是将视图和数据绑定在一起,通过视图模型来实现视图和数据的分离。 MVVM 模式MVC 模式有以下区别: 1. 视图和模型之间的通信方式不同:在 MVC 模式中,视图和模型之间是通过控制器来进行通信的,而在 MVVM 模式中,视图和视图模型之间是通过数据绑定来进行通信的。 2. 视图模型的作用不同:在 MVC 模式中,控制器主要负责协调视图和模型之间的通信,而在 MVVM 模式中,视图模型则充当了控制器和模型之间的桥梁,负责将模型数据绑定到视图上,并通过视图模型来实现视图和数据的分离。 3. 视图的实现方式不同:在 MVC 模式中,视图通常是由 HTML 页面和 CSS 样式来实现的,而在 MVVM 模式中,视图则通常是由 HTML 页面、CSS 样式和 JavaScript 代码(包括视图模型)来实现的。 MVVM 模式的优点包括: 1. 实现了视图和数据的分离,降低了代码耦合度,使代码更加清晰和易于维护。 2. 通过数据绑定技术,可以自动更新视图,减少了代码量和开发时间。 3. 视图模型可以作为数据接口,使得开发人员可以更加方便地测试和调试代码。 综上所述,MVVM 模式是一种基于数据绑定技术的前端开发模式,通过视图模型来实现视图和数据的分离,与 MVC 模式相比,具有更加清晰和易于维护的代码结构和更高的开发效率。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值