何时在android应用程序中使用Dagger?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (9)

我知道Dagger是一个依赖注入框架,但我还没有在我的项目中使用它。

据我所知,使用Dagger会导致很多样板代码和注释。所以我不确定这对我这个相对简单的项目来说不是一个过分的问题。

关于这个项目的一点点。它专注于图像处理,功能的主要部分围绕它进行构建。但是,它也可能有一个简单的数据存储后端。

总的来说,我想知道一些基本原则,我可以用它来选择是否使用Dagger进行项目。

提问于
用户回答回答于

基本理解:

假设,你想测试你的应用程序处理信用卡服务。出于测试目的,你不必访问真正的RPCCreditCardService,因为它需要真正的事务和其他你不想在开发过程中执行的事情。在这种情况下,你必须创建一个克隆假货服务,它将模仿真实CreditCardService所做的同样事情,但不处理任何事情。如果你使用依赖注入框架,你可以在依赖项中定义常见任务,并将其注入到虚假和实际服务中。它将最大限度地降低编码复杂度,并有助于使每个模块独立。

从文档:

通过使用依赖注入框架,每个类都很容易测试。你不需要大量的样板就可以将RpcCreditCardService交换为FakeCreditCardService。

依赖注入不仅仅用于测试。它还可以轻松创建可重复使用的可互换模块。你可以在所有应用程序中共享相同的AuthenticationModule。你可以在开发过程中运行DevLoggingModule,在生产中运行ProdLoggingModule以在每种情况下获得正确的行为。

扫码关注云+社区