该帖子已发布在我的博客上。如果您对依赖项注入或dagger没有任何概念,请访问上面的文章链接。
如果您对dagger注释(比如@Inject、@Module、@ provide和@Component)有什么想法,请继续阅读。这些规则适用于依赖项注入的简单用例。
规则集:
-
尽可能在构造函数上使用@Inject(以声明依赖项)。
-
为无法直接实例化的内容(例如,由其生成器构建的Retrofit客户端)或无法创建的模块(如Context)制作模块。
-
如果要注入接口而不是实现,还可以在模块中使用“提供”方法。
-
如果您希望依赖项保持单例,请使用@Singleton。
-
在组件中包括所有必需的模块,并定义该组件将向其注入依赖项的位置。
-
使用@Inject请求dagger注入已声明的依赖项。
原文链接:https://dev.to//gauravchaddha1996/practical-guide-to-dagger-2-94a