天天看点

Dagger 2 实用指南

该帖子已发布在我的博客上。如果您对依赖项注入或dagger没有任何概念,请访问上面的文章链接。

如果您对dagger注释(比如@Inject、@Module、@ provide和@Component)有什么想法,请继续阅读。这些规则适用于依赖项注入的简单用例。

规则集:

  1. 尽可能在构造函数上使用@Inject(以声明依赖项)。
  2. 为无法直接实例化的内容(例如,由其生成器构建的Retrofit客户端)或无法创建的模块(如Context)制作模块。
  3. 如果要注入接口而不是实现,还可以在模块中使用“提供”方法。
  4. 如果您希望依赖项保持单例,请使用@Singleton。
  5. 在组件中包括所有必需的模块,并定义该组件将向其注入依赖项的位置。
  6. 使用@Inject请求dagger注入已声明的依赖项。

原文链接:https://dev.to//gauravchaddha1996/practical-guide-to-dagger-2-94a