【发布时间】:2012-10-25 11:14:53
【问题描述】:
我计划深入研究其中一个开源 IoC 容器以真正解决 100% 的问题,但我想我也会询问一般社区(在无法在任何密切相关的问题中找到直接答案之后) )。
就我理解的典型 IoC 实现而言,它似乎是一个全局类,充当具有所有依赖项知识的单例。然后它使用这些知识来提供构造函数或属性参数,它知道如何填充它们?也许我错过了一些东西,因此是这个问题。
谁能明确地告诉我 IoC 是如何工作的和/或它是否是一个单例?
更新
我想我的问题是“神奇”的 IoC 是如何像 Ninject.MVC 一样工作的?注射在哪里“有效”?
【问题讨论】:
-
Ninject.MVC 只能工作,因为 MVC 框架提供了 DependencyResolver.SetResolver() 扩展点。如果这不存在,那么任何 IoC 容器都不能与 MVC 一起“正常工作”。
标签: .net design-patterns dependency-injection inversion-of-control ioc-container