其他分享
首页 > 其他分享> > 覆盖在温莎城堡中注册的组件?

覆盖在温莎城堡中注册的组件?

作者:互联网

我只是从温莎开始,所以请保持温柔:)我有一种情况,我希望能够覆盖/替换放置在温莎容器内的组件.继续阅读…

在我的产品代码中,我希望能够注册一个实现基类的组件,并使用一个容器来解析实现者.到目前为止,使用

container.Register(Component.For<LoggerBase>().ImplementedBy<DebugLogger>());

container.Resolve<LoggerBase>();

在测试中,我想添加一个存根/模拟实现以覆盖“ DebugLogger”实现,以便当我的产品代码调用container.Resolve< LoggerBase>();时.它获得了重写的实现.

任何指针都将受到欢迎!

解决方法:

与其走那条路,不如对不同的场景使用不同的容器实例.每个实例的配置可以不同.这就是DI容器的重点.

但是,一般为DI Containers should not be used for unit testing.

标签:castle-windsor,c,ioc-container
来源: https://codeday.me/bug/20191210/2101609.html