什么是 MVVM?比之 MVC 有什么区别?

一、MVC

视图(View):用户界面,只负责渲染HTML
控制器(Controller):业务逻辑,负责调度model和view
模型(Model):数据保存,只负责存储数据,请求数据,更新数据

MVC允许在不改变视图的情况下改变视图对用户输入的响应方式,用户对view操作交给Controller处理在
Controller中响应View的事件调用Model的接口对数据进行操作,一旦Model发生变化便通知相关View进行更新。
接受用户指令时,MVC可以分成两种方式。一种是通过View接受输入,传递给Controller。另一种是直接通过Controller接受指令。此处只画了第一种情况
但是MVC有一个巨大的缺陷就是控制器承担的责任太大了,随着项目的愈加复杂,控制器中的代码会越来越臃肿,导致不利于维护的情况

二、MVP

mvp模式将Controller改名为Presenter,同时也改变了通行方向。
与MVC最大的区别就是View和Model层完全解耦,不存在依赖关系,而是通过Presenter做桥梁,用于操作view层发出事件传递到presenter层中,presenter层区操作model层,并且将数据返回给view层,整个过程中view和model层完全没有联系
在这里插入图片描述

三、MVVM

MVVM模式将Presenter改名为ViewModel,基本上与MVP模式一致。唯一的区别是,它采用了双向绑定(data-binding),View的变动,自动反应在ViewModel,反之亦然在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值