依赖注入和可变依赖

时间:2018-01-09 14:31:19

标签: android dagger

考虑以下情况。我有一个应用程序范围的存储库,依赖于Retrofit客户端来提供它的一些资源。另一方面,由于API需要身份验证,因此改进依赖于从共享首选项获取的身份验证密钥。验证密钥可以随时失效。如果存储库尝试发出未经身份验证的请求,则会调用登录活动。登录活动刷新验证密钥并切换回应用程序的主页活动。 在此阶段出现的问题是,只有在应用程序被终止并重新启动后,才会重新创建存储库,从而刷新Retrofit客户端的身份验证密钥。

一个不优雅的解决方案是将存储库的范围从应用程序级别更改为活动级别。但是,这会创建不必要的存储库副本。有没有办法刷新依赖树的部分? (想象一下单例上的invalidate方法,将其实例设置为null)。

如果在应用程序中只需要一个类型的一个对象,那么一般的正确方法是什么,但是该对象的一个​​依赖性从根本上是可变的?应该注入可变元素吗?

0 个答案:

没有答案