背景:
我已经开发了一个用于配置物理设备的工具应用程序,目前它支持一个设备。它是用标准Android使用RxJava和Dagger编写的,并不实现架构模式。
任务:
该应用程序应该能够支持3个额外的设备。用户可以在设备之间进行选择,根据设备的不同,功能也会有所不同。这意味着,在某些视图中,需要显示其他选项,而对于某些设备,则需要删除选项。
问题是:
我需要重构这个应用程序,使它可以增加额外的设备被添加,并使它可测试,但我还不知道如何为即将到来的变化构建应用程序。作为架构的一种方式,我想使用MVVM还是MVP,但是我还没有决定哪种模式更适合我的需求,因为我对两者都没有很好的了解。
我打算这样做:
Activity时,DeviceConfiguration将检查当前选择的设备,并将为视图/演示器/视图模型设置正确的设备。问题:
这就是我想要的,但是这会是一个很好的结构来处理不同设备的类似功能吗?是否有可能用这种设置测试应用程序,或者为适当的设备创建自己的活动/布局是否更好?如果不仅是数据,而且布局中的一般内容和视图都需要动态更改,我特别不确定这是否适用于MVVM。
我正在寻找良好的做法,使应用程序更清洁和更好的测试,任何建议都是赞赏的。
发布于 2016-09-24 15:18:58
我建议您查看Android架构蓝图存储库。它是由谷歌提供的,您有MVP和MVVM架构实现的示例,包括/不包含Dagger2和RxJava。您还可以查看莫斯比库。如果你是初学者,学习一些已被证实的实现要比用你的解决方案更好。
https://stackoverflow.com/questions/39576566
复制相似问题