哪些C#/。NET依赖注入框架值得研究?您能说出它们的复杂性和速度。
编辑 (不是作者):在https://github.com/quozd/awesome- dotnet/blob/master/README.md#ioc上有IoC框架的完整列表:
原始答案如下。
我想我可能在这里有点挑剔,但是需要注意的是,DI(依赖注入)是一种编程模式,并且可以通过IoC(控制反转)框架来实现(但不需要)。IoC框架使DI变得更加容易,并且除DI之外,它们还提供了许多其他好处。
话虽这么说,我敢肯定这就是你要的。关于IoC框架;我曾经经常使用Spring.Net和CastleWindsor,但背后的真正痛苦是您必须编写的所有讨厌的XML配置!他们现在几乎都以这种方式移动,所以我在过去一年左右的时间里一直在使用StructureMap,并且由于它已经使用强类型的泛型和注册表迁移到了流畅的配置中,所以我在使用IoC时遇到的痛苦障碍已降至零下!现在我知道我的IoC配置是在编译时检查的(绝大部分),我得到了一个绝对的惊喜,而我对StructureMap及其速度一无所获。我不会说其他的运行时很慢,但是对我来说它们设置起来更加困难,而挫败感常常会赢得胜利。
更新资料
我在我的最新项目中一直使用Ninject,使用它绝对是一种乐趣。话语让我有些失望,但是(正如我们在英国所说),这个框架就是“狗”。对于任何您希望快速启动并运行的绿色领域项目,我都极力推荐它。我从贾斯汀·埃瑟里奇(Justin Etheredge)精彩的Ninject截屏中获得了我所需的一切。我完全看不到将Ninject改装到现有代码中是一个问题,但是根据我的经验,对于StructureMap也可以这么说。在这两者之间前进将是一个艰难的选择,但是我宁愿竞争而不是停滞,那里还有相当数量的健康竞争。
其他IoC截屏视频也可以在Dimecasts上找到。