一尘不染

哪些.NET依赖注入框架值得研究?[关闭]

c#

哪些C#/。NET依赖注入框架值得研究?您能说出它们的复杂性和速度。


阅读 346

收藏
2020-05-19

共1个答案

一尘不染

编辑 (不是作者):在https://github.com/quozd/awesome-
dotnet/blob/master/README.md#ioc上有IoC框架的完整列表:

  • Windsor城堡(Castle Windsor) Windsor城堡(Castle Windsor)是同类最佳,成熟的Inversion of Control容器,可用于.NET和Silverlight
  • Unity-轻量级可扩展依赖项注入容器,支持构造函数,属性和方法调用注入
  • Autofac-令人上瘾的.NET IoC容器
  • DryIoc-简单,快捷的全功能IoC容器。
  • Ninject-.NET依赖注入程序的忍者
  • StructureMap-.Net的原始IoC / DI容器
  • Spring.Net-Spring.NET是一个开放源代码应用程序框架,使构建企业.NET应用程序更加容易
  • LightInject-超轻量的IoC容器
  • 简单注入器 -简单注入器是.NET 4+的易于使用的依赖注入(DI)库,支持Silverlight 4 +,Windows Phone 8,Windows 8(包括通用应用程序)和Mono。
  • Microsoft.Extensions.DependencyInjection-ASP.NET Core应用程序的默认IoC容器。
  • Scrutor -Microsoft.Extensions.DependencyInjection的程序集扫描扩展。
  • VS MEF -Visual Studio使用的托管扩展框架(MEF)实现。
  • TinyIoC-简单易用,无忧的控制容器反转版,适用于小型项目,图书馆和初学者。

原始答案如下。


我想我可能在这里有点挑剔,但是需要注意的是,DI(依赖注入)是一种编程模式,并且可以通过IoC(控制反转)框架来实现(但不需要)。IoC框架使DI变得更加容易,并且除DI之外,它们还提供了许多其他好处。

话虽这么说,我敢肯定这就是你要的。关于IoC框架;我曾经经常使用Spring.NetCastleWindsor,但背后的真正痛苦是您必须编写的所有讨厌的XML配置!他们现在几乎都以这种方式移动,所以我在过去一年左右的时间里一直在使用StructureMap,并且由于它已经使用强类型的泛型和注册表迁移到了流畅的配置中,所以我在使用IoC时遇到的痛苦障碍已降至零下!现在我知道我的IoC配置是在编译时检查的(绝大部分),我得到了一个绝对的惊喜,而我对StructureMap及其速度一无所获。我不会说其他的运行时很慢,但是对我来说它们设置起来更加困难,而挫败感常常会赢得胜利。

更新资料

我在我的最新项目中一直使用Ninject,使用它绝对是一种乐趣。话语让我有些失望,但是(正如我们在英国所说),这个框架就是“狗”。对于任何您希望快速启动并运行的绿色领域项目,我都极力推荐它。我从贾斯汀·埃瑟里奇(Justin
Etheredge)精彩的Ninject截屏中获得了我所需的一切。我完全看不到将Ninject改装到现有代码中是一个问题,但是根据我的经验,对于StructureMap也可以这么说。在这两者之间前进将是一个艰难的选择,但是我宁愿竞争而不是停滞,那里还有相当数量的健康竞争。

其他IoC截屏视频也可以在Dimecasts上找到

2020-05-19