首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >什么时候在android应用中使用Dagger?

什么时候在android应用中使用Dagger?
EN

Stack Overflow用户
提问于 2015-05-13 21:07:58
回答 1查看 7.5K关注 0票数 33

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

我正在开始一个新的项目,想知道Dagger是否适合它。据我所知,使用Dagger会导致大量的样板代码和注释。所以我不确定对于我这个相对简单的项目来说,这是不是有点过分了。

关于这个项目的一些情况。它专注于图像处理,功能的主要部分都是围绕它构建的。然而,它也可能有一个简单的数据存储后端。

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

EN

回答 1

Stack Overflow用户

发布于 2015-05-13 21:33:51

基础知识:

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

文档中的

通过使用依赖注入框架,每个类都很容易测试。您不需要一堆样板文件就可以将RpcCreditCardService换成FakeCreditCardService。

依赖注入不仅仅是为了测试。它还使得创建可重用、可互换的模块变得很容易。您可以在所有应用程序之间共享相同的AuthenticationModule。您可以在开发期间运行DevLoggingModule,在生产中运行ProdLoggingModule,以在每种情况下获得正确的行为。

参考:

要了解更多详细信息,请查看this discussion

票数 30
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30215794

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档