【发布时间】:2020-04-14 01:17:54
【问题描述】:
我有多个存储库,它们需要一些凭据才能使用外部服务。这些凭据存储在我的应用程序的共享首选项中,我成功地将其加载到每个存储库中。
指定这些凭据在 SOAP 标头请求中使用并且由用户提供。
使用当前解决方案,我将这些凭据加载到活动中,然后通过视图模型中的方法传递到存储库。这种方法会生成大量重复的代码,因为对于我需要这些凭据的每个活动,我都会重复整个过程。
有没有更好的解决方案可以遵循 MVVM 最佳实践并避免重复代码?
【问题讨论】:
-
提取重复的代码并将其作为依赖项提供。您的凭据可以很容易地在另一个被重用的类后面提取,这样这个新类就有一个单一的职责并抽象出凭据的提供方式。我不喜欢具有
static方法的不必要的 utils 类,因为它使测试变得更加困难。
标签: java android mvvm viewmodel