使用依赖注入/服务定位器容器的最佳实践?

TLDR:配置完成后使用IoC容器的最佳方式是什么?


我一直在阅读IoC(依赖注入,服务定位器等)。 我知道DI是很好的,IoC容器可以更容易实例化对象,但是我没有找到的是任何显示如何在配置完成后实际使用注入容器的东西。 大多数教程停止在刚刚获取容器设置并发送给你的路上,但由于某种原因,它只是没有点击以配置好后如何最好地利用你的注射容器。

从我可以告诉我有两种方法可以使用容器:

  • 事先实例化每个可以想象的依赖项,并让这些依赖项通过具有潜在大量依赖项的单个入口点流经应用程序。
  • 这看起来很愚蠢,因为你可能正在创建许多你并不需要的类实例。 似乎你几乎不需要容器来做到这一点。
  • 将注入容器移到某个全局作用域,并在需要具有依赖关系的新对象时调用它。
  • 这似乎很愚蠢,因为a。)现在你创建了一个全局/单例(barf)和b。)现在你的依赖注入器iteself是一个依赖项。
  • 这两个选项看起来并不理想,所以我想知道我是否在实践中错过了一个关于如何使用注射容器的基础知识。 任何帮助,将不胜感激!


    您正在寻找对象生命周期的概念。 Autofac在这方面有很好的入门知识。

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

    上一篇: Best Practice for Using a Dependency Injection / Service Locator Container?

    下一篇: Service locator and dependency injection