我继承的应用程序使用流利的界面来配置我们的 Windsor 容器,而且这种大球配置非常恶心。
过去,我创建了一个扩展方法 container.AddModule,然后创建了在容器中传递的模块,并为我的系统中需要配置的不同“模块”注册了一个结构映射服务。
container.AddModule(new FooModule());
...
public class FooModule : IWindsorModule
{
public Register(IWindsorContainer container)
{
container.Register(/*Windsor's Ridiculous Fluent Syntax*/);
}
}
那是温莎的设施吗?是类似于 StructureMap 模块还是它们是为 Windsor 添加超级魔法的扩展点?
使您的容器配置更加模块化和不那么疯狂的最佳实践是什么?