关于MVVM与MVI


一、MVVM优缺点

在这里插入图片描述
MVVM优点:
(1)解耦;
(2)双向绑定,简化编程;
MVVM缺点:
(1)由于双向绑定导致定位问题比较麻烦;
(2)多个刷新点,对于特定问题可能设计多个数据、多个路径(所以MVVM中比较注重三个刷新点)。
(3)view中绑定了较多的LivedData,复用相对较困难。

二、MVI

MVI中的I是Intent,Intent即意图,比如获取数据、获取详情、修改数据等;
MVI中的V是View;
MVI中的M是ViewModel;
MVI中的流程是单向的;
View的变化仅依赖于UIStete,(例如对于请求,有请求中、请求成功、请求失败、三种State),使用UIState之后数据与View的耦合度更低,且便于扩展。
在这里插入图片描述
在这里插入图片描述
viewmodelscope会运行在在ViewModel的作用域中,在ViewModel中会将收集到的结果打包成一个UIState,UIState不仅仅是一个状态值,它还携带数据。


总结

提示:这里对文章进行总结:

(1)MV/MVP/MVVM/MVI 中的C/P/VM/I都是用于描述model和view的关系;
(2)解耦的目的是为了方便复用;

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值