代码之家  ›  专栏  ›  技术社区  ›  Jeremy E

什么是依赖注入,我为什么要使用它?[副本]

  •  2
  • Jeremy E  · 技术社区  · 16 年前


    What is dependency injection?

    4 回复  |  直到 8 年前
        1
  •  0
  •   Tetsujin no Oni    16 年前

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

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

        2
  •  0
  •   Vincent Ramdhanie    16 年前

    另一个可能有所帮助的参考术语是“控制权倒置”。

    这种抽象使您能够更容易地用新版本,甚至是全新的支持技术替换不再满足组织需求的实现,从而减少变更足迹,降低风险。

    Castle Windsor 是一个。IoC容器的网络实现。

        3
  •  0
  •   stefanB    16 年前

    你可能会发现这个 article 有助于理解整个想法。

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

        4
  •  0
  •   James Curran    16 年前

    我发现 dependency injection article from Misko Hevery 非常有解释性,包括很好的例子(java)。看看围绕这个主题的系列文章。

    推荐文章