MVVM简介

本文介绍了MVVM模式的主要优点,包括低耦合度、数据驱动、异步线程更新Model、方便协作、易于单元测试和数据复用等。此外还探讨了ViewModel的生命周期,并指出其在Fragment之间的数据传递优势。

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

使用MVVM模式的优点:

1、低耦合度:

在MVVM模式中,数据处理逻辑是独立于UI层的。ViewModel只负责提供数据和处理数据,不会持有View层的引用。而View层只负责对数据变化的监听,不会处理任何跟数据相关的逻辑。在View层的UI发生变化时,也不需要像MVP模式那样,修改对应接口和方法实现,一般情况下ViewModel不需要做太多的改动。

2、数据驱动:

MVVM模式的另外一个特点就是数据驱动。UI的展现是依赖于数据的,数据的变化会自然的引发UI的变化,而UI的改变也会使数据Model进行对应的更新。ViewModel只需要处理数据,而View层只需要监听并使用数据进行UI更新。

3、异步线程更新Model:

Model数据可以在异步线程中发生变化,此时调用者不需要做额外的处理,数据绑定框架会将异步线程中数据的变化通知到UI线程中交给View去更新。

4、方便协作:

View层和逻辑层几乎没有耦合,在团队协作的过程中,可以一个人负责Ui 一个人负责数据处理。并行开发,保证开发进度。

5、易于单元测试:

MVVM模式比较易于进行单元测试。ViewModel层只负责处理数据,在进行单元测试时,测试不需要构造一个fragment/Activity/TextView等等来进行数据层的测试。同理View层也一样,只需要输入指定格式的数据即可进行测试,而且两者相互独立,不会互相影响。

6、数据复用:

ViewModel层对数据的获取和处理逻辑,尤其是使用Repository模式时,获取数据的逻辑完全是可以复用的。开发者可以在不同的模块,多次方便的获取同一份来源的数据。同样的一份数据,在版本功能迭代时,逻辑层不需要改变,只需要改变View层即可。

 

 

MVVM——Model-View-ViewModel

ViewModel生命周期:

这里使用Fragment的优势就体现出来了,ViewModel的生命周期贯穿Activity的始终,所以在Fragment之间传递数据用ViewModel非常方便,至始至终都是同一个ViewModel。

待续

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值