如何解决哪些 .NET 依赖注入框架值得研究?
https://github.com/quozd/awesome- dotnet/blob/master/README.md#ioc上有一个完整的 IoC 框架列表:
- Castle Windsor - Castle Windsor 是同类中最好的,成熟的控制反转容器可用于 .NET 和 Silverlight
- Unity - 支持构造函数、属性和方法调用注入的轻量级可扩展依赖注入容器
- Autofac - 令人上瘾的 .NET IoC 容器
- DryIoc - 简单、快速的全功能 IoC 容器。
- Ninject - .NET 依赖注入器的忍者
- Spring.Net - Spring.NET 是一个开源应用程序框架,可以更轻松地构建企业 .NET 应用程序
- Lamar - 一个快速 IoC 容器,针对 ASP.NET Core 和其他 .NET 服务器端应用程序中的使用进行了高度优化。
- LightInject - 一个超轻量级的 IoC 容器
- Simple Injector - Simple Injector 是一个易于使用的 .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 - 一个易于使用、无忧无虑的控制反转容器,适用于小型项目、库和初学者等。
- Stashbox - 用于基于 .NET 的解决方案的轻量级、快速和可移植的依赖注入框架。
原始答案如下。
我想我在这里可能有点挑剔,但重要的是要注意 DI(依赖注入)是一种编程模式,它由 IoC(控制反转)框架促进,但不需要。IoC 框架使 DI 变得更加容易,并且它们提供了许多超越 DI 的其他好处。
话虽这么说,我相信这就是你要问的。关于 IoC 框架;我以前经常使用Spring.Net和CastleWindsor,但背后真正的痛苦是你必须编写的所有讨厌的 XML 配置!他们现在几乎都在朝着这个方向发展,所以我在过去一年左右一直在使用StructureMap,并且由于它已经使用强类型泛型和注册表转移到了流利的配置,我使用 IoC 的痛苦障碍已经下降到零下!现在我知道我的 IoC 配置是在编译时检查的(大部分情况下),而且我对 StructureMap 及其速度感到非常高兴,这让我感到非常兴奋。我不会说其他的在运行时很慢,但它们对我来说更难设置,而且挫折常常赢得了胜利。
我一直在我的最新项目中使用Ninject ,使用起来非常愉快。这里的话让我有点失望,但是(正如我们在英国所说)这个框架是“狗”。对于任何想要快速启动和运行的绿地项目,我强烈推荐它。我从Justin Etheredge的一组精彩的 Ninject 截屏视频中得到了我需要的一切。我根本看不出将 Ninject 改装到现有代码中是一个问题,但根据我的经验,StructureMap也可以这样说。在这两者之间前进将是一个艰难的选择,但我宁愿竞争也不愿停滞不前,而且那里有相当数量的健康竞争。
其他 IoC 截屏视频也可以在 Dimecasts 上找到。
解决方法
哪些 C#/.NET 依赖注入框架值得研究?关于它们的复杂性和速度,你能说什么。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。