当前位置: 首页 > 知识库问答 >
问题:

为什么我们需要对java或Android中的单例类进行依赖注入?

祁凯泽
2023-03-14

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

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

共有1个答案

章永安
2023-03-14

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

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

说到这里,我也认为DI只适合于大规模的Android项目,或者中型到大型的EE项目。否则,IMHO会增加一些不必要的复杂性。

 类似资料:
  • 以我的拙见,关于“什么是单子”这个著名问题的答案,尤其是投票最多的答案,试图解释什么是单子,而没有明确解释为什么单子是真正必要的。它们能被解释为一个问题的解决方案吗?

  • 问题内容: 我目前使用nodejs创建一些实验项目。我已经用Spring编写了很多Java EE Web应用程序,并赞赏那里的依赖注入的简易性。 现在我很好奇:如何使用节点进行依赖注入?或者:我什至需要吗?是否存在替代概念,因为编程风格不同? 到目前为止,我在谈论简单的事情,例如共享数据库连接对象,但是我还没有找到一个令我满意的解决方案。 问题答案: 简而言之,您不需要像C#/ Java中那样的依

  • 问题内容: 我是angular的新手,想知道为什么和何时应该两次注入所有需要的依赖项。 范例: 但是我们也可以将以上代码编写为: 为什么呢 问题答案: 这是为了使应用程序具有 最小安全性 。 小心:如果您打算压缩代码,则您的依赖项名称将被重命名并破坏您的应用程序。 当你将(或 可能 ),再压缩所有文件,依赖由像改为,,…等等。 但是,当您使用数组和类似字符串的语法时,如第二个片段所示,它们永远不会

  • 问题内容: 我知道弱引用是垃圾收集器的摆布,我们不能保证弱引用会存在。我认为没有必要提供较弱的参考,但可以确定应该有一个理由。 为什么我们需要Java中的弱引用? Java中弱引用的实际(某些)用法是什么?如果您可以分享您在项目中的使用方式,那就太好了! 问题答案: 使用弱哈希图实际上通常是一个坏主意。首先,很容易出错,但更糟糕的是,它通常用于实现某种缓存。 这意味着以下内容:您的程序在一段时间内

  • 问题内容: 在Java或Android中,有@Override注释。这是什么意思?我发现它是在方法来自子类或继承接口的方法时使用的,我想进一步了解,其他是@SuppressWarnings及其Anonation,如果是的话,java使用了多少注释以及用于什么目的。 问题答案: 这个问题在这里也很简洁地得到了回答: Android@Override用法 这是一个注释,可以用来告诉编译器和IDE,您打

  • 我不太明白它解决了什么问题。它看起来像是这样说:“Hi.当你运行到这个函数时,返回一个对象,它是这种类型的,并且使用这些参数/数据。” 但是...我为什么要用这个?注我也从来不需要使用,但我理解这是为了什么。 在构建一个网站或桌面应用程序时,有哪些实际情况可以使用DI?我可以很容易地想出为什么有人想在游戏中使用接口/虚拟函数的例子,但是在非游戏代码中使用这种方法是极其罕见的(非常罕见,以至于我都记