我继承的应用程序使用流畅的界面来配置我们的Windsor容器,这是一个非常恶心的大型配置。
过去我创建了一个扩展方法container.AddModule,然后创建了在容器中传递的模块,并为我需要配置的系统的不同“模块”创建了一个结构化的注册服务。
container.AddModule(new FooModule());
...
public class FooModule : IWindsorModule
{
public Register(IWindsorContainer container)
{
container.Register(/*Windsor's Ridiculous Fluent Syntax*/);
}
}
这是温莎的设施吗?是类似于StructureMap模块还是它们是为温莎添加超级魔法的扩展点?
使容器配置更模块化,更少疯狂的最佳做法是什么?
答案 0 :(得分:1)
结帐IWindsorInstaller
:
另外,如果您来自StructureMap this article可能会有用。
设施上有一条细线,但一般而言,设施旨在用于需要自定义配置/多个内部组件等的更复杂的东西。