我想创建一个无需任何配置即可使用 IoC 的框架:
因此,而不是(从http://www.castleproject.org/container/gettingstarted/part1/code.html调整):
IWindsorContainer container = new WindsorContainer();
container.AddComponent("someinterface", typeof(ISomeInterface));
ISomeInterface component = (ISomeInterface) container[typeof(ISomeInterface)];
component.DoIt();
container.Release(component);
不需要调用该container.AddComponent
方法,因为会有一些初始步骤通过在已知目录中查找包含实现 ISomeComponent 的类并将它们注册到 WindsorContainer 的任何 dll 来执行一些“自动连接”。
我可以看到这可以从头开始,但理想情况下,如果有一个已经完成的开源项目,我不想重写此代码!