我认为这个问题的答案是如此明显,以至于没有人费心写这个,但已经晚了,我真的无法理解这个问题。
我一直在阅读 IoC 容器(在本例中为温莎),但我想念您如何从代码的各个部分与容器对话。
我得到了 DI,我一直在做可怜的人 DI(空构造函数调用具有默认参数实现的重载注入构造函数)一段时间,我完全可以看到容器的好处。但是,我错过了一条重要信息;每次需要从容器中获取服务时,您应该如何引用容器?
我是否创建了一个传递的全局实例?肯定不是!
我知道我应该这样称呼:
WindsorContainer container = new WindsorContainer(new XmlInterpreter());
(例如)当我想加载我的 XML 配置时,我该如何处理容器?之后每次创建一个新容器是否通过一些内部静态majicks或其他方式持久化加载的配置,或者我是否每次都必须重新加载配置(我猜不是,或者生命周期无法工作)。
未能理解这一点使我无法弄清楚生命周期是如何工作的,并继续使用一些 IoC 可怕的东西
谢谢,
安德鲁