为什么要使用依赖注入[广角]?

时间:2018-11-20 12:15:04

标签: design-patterns dependency-injection language-agnostic

我知道这个问题经常被问到,但我仍然不能在问题中解释“为什么”。

我试图理解DI的优点以及何时使用它,但是我找不到很好,清晰和有用的解释和示例。

我在评论中发现了一个很好的问题,但没有得到答案。

  

DI使体系结构变得更加复杂。然而,正如我所见   它,使用非常有限。例子肯定总是   相同:可互换的记录器,可互换的模型/数据访问。   有时可以互换视图。就是这样。做这几种情况   真的可以证明一个复杂得多的软件体系结构?

正如我所看到的,这个问题的唯一答案是单元测试,在实例化对象中的某个对象时,您不能或者很难进行测试。

我可以理解的其他用例也是松散耦合,但是使用DI时您的代码仍然没有完全解耦,因为您的代码仍然取决于您要注入不同类的接口,因为如果该接口更改我必须在使用该界面的地方更改代码。

0 个答案:

没有答案