您使用新的Fluent接口配置IOC容器的惯例/习语/模式是什么

Nic*_*ong 6 .net structuremap fluent-interface inversion-of-control

我正在将大量代码移到Castle Trunk中,其中包括用于配置容器的新流畅界面.由于该项目有一个超出维护的巨大windsorConfig xml文件,我想我会开始利用这个新功能.我知道其他容器(例如StructureMap 2.0)也包含用于容器配置的流畅接口,所以这个问题不是基于Windsor.

我的问题是你使用新的流畅样式接口用于容器配置的约定/习语/模式是什么?

我的第一个想法是在某处创建一个静态方法(例如ContainerConfig.Config),它会将应用程序使用的所有相关类型加载到容器中.我担心最终这个单片函数最终会像xml配置文件一样难以维护(减去尖括号税).

我的第二个想法是将其分解,因此每个依赖程序集按照惯例导出其默认配置.我可以看到这对程序集内部使用的层次结构很有用.但对于外部使用的类型,是否应该在内部定义配置?

我想的越多,我似乎提出的问题就越多.你对此有什么想法?

den*_*ips 3

更深入地了解 StructureMap 2.5。它提供了多种功能来显着减少引导 IOC 容器的工作。它提供了一种约定优于配置的技术(请参阅下面的博客条目)

请参阅 Jeremy Miller(StructureMap 的作者)最近发布的以下博客文章

使用 StructureMap 创建您自己的自动注册约定

        // Example from the blog post above
        var container = new Container(registry =>
        {
            registry.Scan(x =>
            {
                x.TheCallingAssembly();
                x.With<DefaultConventionScanner>();
            });
        });
Run Code Online (Sandbox Code Playgroud)

StructureMap 2.5.2 发布