代码之家  ›  专栏  ›  技术社区  ›  testCoder

在哪些情况下应该使用某些类型的IoC框架[关闭]

  •  1
  • testCoder  · 技术社区  · 14 年前

    我知道.net中有很多IoC框架(它们是:Ninject、Unity、Castle Windsor、Structure Map)。它们也用于相同的目标——解析依赖关系。但我不明白在哪些情况下应该使用特定的框架!它们几乎相似。谁能简单地解释主要的区别?

    3 回复  |  直到 14 年前
        1
  •  3
  •   Steven    14 年前

    这取决于你的需要。有些容器非常成熟,或者有一个很大的社区。其他则功能丰富或速度非常快。这完全取决于您需要什么,但问题是,只有当您已经使用DI和DI容器完成了一两个项目时,您才知道这一点。尽管如此,当架构发生变化时,对容器的需求也会发生变化。

    所以,无论你选择什么容器,都要做好更换容器的准备。这意味着,要坚持依赖注入模式,防止自己让应用程序代码直接依赖于容器(称为 Service Locator )。

        2
  •  2
  •   Steven    14 年前

    每个人都有一个 fatal flaw 。

    更严肃地说,它们确实做了本质上相同的事情,但在实现细节、约定、性能、辅助功能和建议的用例方面有所不同。

    我不认为你真的应该流汗 这个 IoC容器。坚持使用你习惯的功能,继续使用你的核心功能。

        3
  •  1
  •   Robbie Dee    14 年前

    DI/IOC或你想怎么称呼它都是达到目的的手段,而不是目的本身。找一个你喜欢的,能满足你所有需要的东西,然后去做(直到你被告知要用其他东西)。

    我在StructureMap的基础上推出了自己的应用程序,可能比实际使用其他应用程序学到了更多。