【问题标题】:Why do we need Dependency Injection for singleton classes in java or Android?为什么我们需要对 java 或 Android 中的单例类进行依赖注入?
【发布时间】:2016-04-25 14:39:46
【问题描述】:

例如,如果我使用 Dagger 注入 (Otto)Bus 对象,那么我将不得不编写更多代码行来指定在接口中注入它的位置。

另一方面,如果我只使用一个单例类来返回 Bus 实例,那么我不需要像在依赖注入的情况下那样编写那么多行代码。

所以我的问题是“为什么或如何使用依赖注入来注入 Singleton 类实例更好?”

【问题讨论】:

    标签: java android singleton dagger otto


    【解决方案1】:

    首先,DI 将减少您为设置具有所需依赖项的实例而必须调用的样板数量。更少的代码意味着更高的可读性。为此付出的代价是所涉及的配置,但对于大型项目,这是值得的。

    其次,当您在应用程序上运行自动化测试时,您可以从 DI 中受益。您将有能力将标准单例实现替换为模拟,您可以控制并使用模拟来模拟涵盖所有情况所需的不同场景。

    话虽如此,我也认为 DI 只适合大型 Android 项目,或中大型 EE 项目。否则,恕我直言,它会增加一些不必要的复杂性。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多