我正计划为我的Android应用程序实现MVVM架构设计模式.我在网上看到它将帮助我实现有效的关注点分离,并轻松编写数据模型,UI等测试用例.需要一些见解/建议.
那么,要了解如何有效地使用MVVM,请从Android MVVM设计模式示例开始
在这里你会发现这个帖子:
我是Android-Binding的开发者.就像@Brentley所说,这是一个非常新的项目,但我希望能获得更多的嗡嗡声和经验,以便它可以得到改善.回到你的问题,我在MVVM上用android-binding编写了一些简单的介绍/教程:
Android MVVM教程(带有android绑定)
Android绑定简介(codeproject)
Android绑定中的模型验证(codeproject)
维基在项目主页
潜在的采用者也请在项目讨论组注册.
阅读整个主题.你会发现,MVVM
是相对较新的框架,并强烈建议与它合作与谷歌是P&工作Data Binding
图书馆和依赖注入库像Roboguice
或Dagger2
...
......但最好的是这一个:
用MVVM接近Android.使用数据绑定库构建MVVM架构应用程序,
作者通过示例解释使用MVVM和数据绑定库 - 我的意思是他自己创建的应用程序.他的结论是:
现在要知道这种方法是否是开发应用程序的正确方法还为时尚早,但是这个实验让我有机会研究未来项目的可能性之一.这是我绝对想要玩的东西.
Model-View-ViewModel
很有趣,因为在传统的Android架构中,控制器会将数据推送到视图中.您可以在"活动"中找到该视图,然后在其上设置内容.
使用MVVM,您可以ViewModel
更改某些内容并通知绑定数据框架有关已更改的内容.然后,框架会自动更新绑定到该内容的任何视图.
这两个组件只是通过数据和命令接口松散耦合.
接下来使用的MVVM
方法确实是可测试的.来自Android上的MVVM:您需要了解的内容
因为a
ViewModel
不再依赖于它View
,所以你可以在ViewModel
没有View
现成的情况下测试.通过对其他依赖项进行适当的依赖注入,测试非常简单.例如,不是将VM绑定到实际视图,而是可以在测试用例中创建VM,为其提供一些数据,然后在其上调用操作,以确保正确转换数据.(...)所有这些都可以在不必与实际视图交互的情况下完成.
另请阅读:MVVM ON ANDROID使用数据绑定库
希望它有所帮助