什么是依赖注入,为什么我要使用它?

可能重复:
什么是依赖注入?

我的团队中的其他开发人员一直在讨论依赖注入。 我在维基百科上查了它,但我仍然不明白它是什么或什么时候想在我的设计中使用它。 如果你有什么好的例子说明你什么时候使用过,或者什么时候不应该那样会帮助我。 谢谢


其基本思想是,当一个对象需要其他对象来完成它的工作时(比如数据库连接),而不是在内部创建该对象时,该对象被“注入”到对象中,通常作为构造器参数,或者在使用对象之前设置的公共属性。

这样做的好处是可以在外部更改使用对象的值(如果对象被声明为接口,则尤其如此)。 其中一个常见用法是用模拟对象代替具体对象进行单元测试。


另一个可能有助于的参考是“控制反转”。

IoC或DI可以让您指定一个必须由某个其他组件满足的接口,而不是依赖于关于这些库的依赖关系和假设来构建软件,而是在运行时提供接口满足映射执行应用程序的组件(通常位于提供IoC满足服务的服务容器中,作为某种服务解析服务)。

通过这种抽象,您可以更轻松地使用新版本替换不再满足组织需求的实现,甚至可以使用全新的后台技术,从而减少占用空间,从而降低风险。

温莎城堡是一个IoC容器的.Net实现。


您可能会发现这篇文章有助于理解这个整体思想。

这个想法是为了帮助你解耦你的类,以便每个类可以独立使用或测试。

链接地址: http://www.djcxy.com/p/14403.html

上一篇: What is dependency injection and why would I want to use it?

下一篇: what is Dependency Injection?