MVVM简介

使用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。

待续

 

 

 

 

 

 

 

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: MVVM Light 是一个开源的 MVVM (Model-View-ViewModel) 框架,用于开发 Windows 平台的应用程序。它的主要优点在于简洁易用、轻量级,支持 WPF、Silverlight、Windows Phone、Windows 8/8.1、Windows 10 UWP 等平台。 下面是一个简单的 MVVM Light 使用教程: 1. 首先,安装 MVVM Light 框架。可以通过 NuGet 包管理器安装,命令如下: Install-Package MvvmLight 2. 在项目中添加一个 ViewModel 类。这个类会绑定到 View 上。 3. 编写 View 的 XAML 代码。在根元素上添加 DataContext 属性绑定到 ViewModel。 4. 编写 ViewModel 类中的逻辑代码。这些代码会更新 View 的状态。 5. 在 View 的 XAML 代码中添加绑定。例如,将一个文本框的 Text 属性绑定到 ViewModel 中的一个属性上。 6. 在 ViewModel 中使用命令来处理 View 上的用户交互。 7. 按照需要使用其他 MVVM Light 的功能,例如消息传递、导航、本地化等。 最后,我需要提醒你 MVVM 是一种模式,不同的框架可能有不同的实现,每种框架都有它的优缺点,需要根据自己的需求来选择合适的框架. ### 回答2: MVVMLight是一个为Windows应用程序提供MVVM(Model-View-ViewModel)模式支持的开源框架。它是由Laurent Bugnion创建的,旨在简化应用程序的设计和开发。 MVVMLight提供了一组工具和库,帮助开发人员在应用程序中实现MVVM模式。其中包括ViewModelBase类,用于创建视图模型,并提供属性更改通知功能。它还提供了一个Messenger类,用于在视图模型之间进行消息传递,使它们能够相互通信。 除了上述基本功能外,MVVMLight还提供了其他实用工具,如ViewModelLocator,用于自动定位和创建视图模型实例。它还提供了EventToCommand功能,可以将事件绑定到命令,使开发人员能够将用户交互行为直接绑定到视图模型中的命令。 MVVMLight还提供了一些与平台相关的功能,如在WPF应用程序中的消息框服务和对话框服务。它还支持导航功能,可以帮助开发人员实现应用程序中的导航逻辑。此外,它还提供了对IoC(Inversion of Control)容器的集成,使开发人员能够轻松地使用依赖注入来管理应用程序中的对象。 总之,MVVMLight是一个强大而灵活的框架,可以帮助开发人员更轻松地实现MVVM模式,并提高应用程序的可维护性和可扩展性。它提供了许多实用工具和功能,帮助开发人员处理常见的应用程序开发任务,使他们能够更专注于业务逻辑的实现。无论是新手还是有经验的开发人员,都可以从MVVMLight中受益,并加快应用程序的开发进程。 ### 回答3: MVVMLight是一款用于开发基于MVVM设计模式的框架, 它是由GalaSoft的Laurent Bugnion所创建和开发的。MVVM代表模型(View-Model-View Model)视图模型,是一种用于构建用户界面的软件架构模式。 MVVMLight的教程涵盖了许多有关使用该框架的详细信息和指南。教程通常会从基础知识开始,逐步介绍MVVMLight的各个组件和功能。它将帮助开发人员了解如何设置和配置MVVMLight,以及如何使用它来构建可维护和可扩展的应用程序。 教程通常包括以下内容: 1. MVVM框架的简介和概述。 2. MVVMLight的安装和配置。 3. MVVMLight的主要概念和组件,例如ViewModelBase、RelayCommand、Messenger等。 4. 如何使用MVVMLight来绑定视图和视图模型。 5. 如何处理用户交互和数据验证。 6. 如何使用MVVMLight中的导航和导航参数。 7. 如何利用MVVMLight创建模块化和可测试的应用程序。 通过学习MVVMLight的教程,开发人员可以获得关于MVVM设计模式以及MVVMLight框架的深入理解。这将使开发人员能够更好地利用MVVMLight的功能和优势来开发高质量、易于维护的应用程序。 MVVMLight的教程对于想要进一步学习和探索MVVMLight的开发人员来说是非常有价值的资源,它提供了实用的示例和指导,以帮助开发人员快速上手并充分利用这个强大的框架。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值