.net - 您使用什么约定/习惯用法/模式使用新的 Fluent 接口(interface)配置 IOC 容器

标签 .net inversion-of-control structuremap fluent-interface

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

我的问题是,您使用新的流利风格接口(interface)进行容器配置时使用了哪些约定/习惯用法/模式?

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

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

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

最佳答案

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

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

Create your own Auto Registration Convention with StructureMap

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

StructureMap 2.5.2 is Released

关于.net - 您使用什么约定/习惯用法/模式使用新的 Fluent 接口(interface)配置 IOC 容器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/456839/

相关文章:

c# - 动态确定 Structuremap 依赖关系

c# - 检查用户访问权限的设计模式.net

c# - 能否从某种方法名称集合创建 C# 4.0 中的多播委托(delegate)?

c# - MAUI 中的 Xamarin nuget 包

c# - 进行异步 Web 服务调用和在另一个线程中进行同步 Web 服务调用有什么区别?

.net - 如何在 AutoMapper 中扫描和自动配置配置文件?

C# - Ninject、IoC 和工厂模式

java - Spring session scoped bean是否保存在HttpSession中?

ios - 回调违反控制反转

c# - 当组合根位于客户端时如何在 WCF 中注入(inject)依赖项