我刚刚开始使用Windsor,所以请温柔:)我有一个场景,我希望能够覆盖/替换放置在windsor容器内的组件。请继续阅读...
在我的prod代码中,我希望能够注册实现基类的组件,并使用容器来解析实现者。到目前为止,使用
container.Register(Component.For<LoggerBase>().ImplementedBy<DebugLogger>());
和
container.Resolve<LoggerBase>();
在我的测试中,我想添加一个存根/模拟实现来覆盖“DebugLogger”实现,这样当我的prod代码调用container.Resolve<LoggerBase>();
时,它就会得到被覆盖的实现。
欢迎任何指示!
答案 0 :(得分:3)
您应该为不同的场景使用不同的容器实例,而不是追逐该路径。每个实例可以配置不同。这就是DI容器的重点。