【C/S模式中的MVVM】

MVVM是一种软件架构模式,是MVC的进化版,通过双向数据绑定将视图和模型关联。使用MVVM可以实现视图与模型的低耦合,提高代码的可测试性和可复用性。开发者可以专注于业务逻辑(ViewModel)和UI设计的独立开发,但可能会增加代码量并需要处理额外的数据绑定工作。MVVM的优点包括代码解耦、方便测试和独立开发,而缺点则体现在代码量增多和手动绑定的复杂性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


什么是MVVM

MVVM,是Model-View-ViewModel的简写,是M-V-VM三部分组成。它本质上就是MVC 的改进版。MVVM 就是将其中的View 的状态和行为抽象化,其中ViewModel将视图 UI 和业务逻辑分开,它可以取出 Model 的数据同时帮忙处理 View 中由于需要展示内容而涉及的业务逻辑。

MVVM采用双向数据绑定,view中数据变化将自动反映到viewmodel上,反之,model中数据变化也将会自动展示在页面上。把Model和View关联起来的就是ViewModel。ViewModel负责把Model的数据同步到View显示出来,还负责把View的修改同步回Model。

MVVM核心思想,是关注model的变化,让MVVM框架利用自己的机制自动更新DOM,也就是所谓的数据-视图分离,数据不会影响视图。
在这里插入图片描述

为什么要用MVVM

  • 低耦合:视图(View)可以独立于Model变化和修改,一个ViewModel可以绑定到不同的View上,当View变化的时候Model可以不变,当Model变化的时候,View也可以不变。
  • 可复用:可以把一些视图逻辑放到一个ViewModel里面,让很多View重用这段视图逻辑。
  • 独立开发:开发人员可以专注于业务逻辑和数据的开发(ViewModel),设计人员可以专注于页面设计。
    可测试:界面素来是比较难于测试的,而现在测试可以针对ViewModel来写。

优点和缺点

优点

1、Controller简洁清晰
ViewModel分离出来大部分的Controller代码,更加清晰和容易维护。
2、方便测试
大部分Bug来自于逻辑处理,由于ViewModel把逻辑分离出来,可对ViewModel构造单元测试。
3、开发解耦
1)一位开发者负责逻辑实现,另一位开发者负责UI实现
2)敏捷开发中,并非等后端借口提供后再开发,提供前可完成Controller和View的开发工作。

缺点

1、代码量比MVC多。
2、需对每个Controller实现绑定,这是分离不可避免的工作量。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

何以解忧唯有暴富丶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值