Android、Dagger、中间件网络的依赖注入设计模式 类

Android, Dagger, Dependency injection design pattern for middleware networking classes

我不太确定如何把它放在一个特定的问题中,但让我试试,对于之前错误的解释或措辞,我深表歉意。

我开始专门在 Dagger 2 中学习依赖注入模式并浏览了一些示例。我的目标是注入网络(中间件)classes,主要用于测试。到目前为止我看到的示例是制作 1 个接口,其中所有网络都作为子 classes 和 1 个模块 class 来绑定接口,然后应用程序 class 正在创建一个对象图。这是常见模式吗?

我在想象,假设有 10 个网络 classes,大多数情况下 1 个屏幕只需要 1 个或几个中间件 classes。然而,我看到的是在应用程序中注入整个中间件。我可以说通过几行代码在生产和测试之间切换 classes 似乎很容易,但是在启动应用程序时用整个网络制作图形 classes 是个好主意吗?

我认为您不应该将依赖项(中间件 classes)注入到 Android 应用程序 class 中,而是注入到需要这些依赖项的具体代码位置。进入 Activity、Fragment、控制器等

例如,如果您将 Twitter API 配置为依赖项,您可以将其注入到具体的 class 中,例如 TweetComposerActivity。顺便说一句,这是 Jake Wharton 演讲的 link,它对我很有用:https://plus.google.com/+JakeWharton/posts/SRaaHenwLfj