我应该在哪里存储对DI容器的引用?

Mik*_*ock 9 structuremap dependency-injection castle-windsor inversion-of-control unity-container

我想知道我应该如何存储/引用我的依赖注入容器.将容器作为静态类的静态属性是否可以?或者我应该将容器作为应用程序的实例变量吗?我想知道每个选项的优缺点是什么,以及在web,mvc,console和windows应用程序中最佳实践是什么?

Jef*_*nal 5

我建议将其作为实例变量存储在应用程序中.使用静态属性 - 使其成为一个全局可访问的单例 - 隐藏了应用程序对它的依赖,这是你试图通过首先使用依赖注入容器来逃避的事情之一!

话虽如此,如果您的框架使您难以访问您的应用程序实例,那么使用静态变量并不是世界末日.