【问题标题】:What is the current state of IoC containers in .NET? [closed].NET 中 IoC 容器的当前状态是什么? [关闭]
【发布时间】:2024-01-24 06:43:01
【问题描述】:

我知道以前有人问过类似的问题

我希望了解 .NET 领域中 IoC 容器框架的当前状态。

关于这个主题的其他问题已经过时了。我正在准备有关该主题的课程,因此我想介绍最相关的信息。

目前 .NET 的 IoC 容器中什么是最好的,为什么?
什么是最受欢迎的?

【问题讨论】:

标签: .net dependency-injection inversion-of-control containers ioc-container


【解决方案1】:

没有人知道哪个 DI Container 是最受欢迎的,但这里有一个提示:

比较NuGet 上的下载统计信息。所有主要的 .NET 容器都可以通过 NuGet 获得,这样做可以让您了解容器之间的相对流行度排名。

请注意,从统计角度来看,这种方法存在问题的原因有很多:

  • 还有其他方法可以下载容器。例如,Unity 还附带企业库,可以从 microsoft.com 下载。
  • 下载量不等于使用量。
  • NuGet (AFAIR) 仅在 Visual Studio 2010 中可用,因此可能存在选择偏差。以前版本的 Visual Studio 的用户可能更喜欢不同的容器。

尽管建议的比较方法不准确,但它仍然是我所知道的最好的。接受它是什么。

【讨论】:

  • 另外,不要忘记各种 NuGet 包是在不同时间发布的。后来发表的则处于劣势。至少,人们应该获取统计数据并随着时间的推移对其进行标准化。
【解决方案2】:

我认为 Scott Hanselman 几年前的帖子仍然具有相关性 List of .NET Dependency Injection Containers (IOC)

每个容器框架都增加了功能和改进,现在似乎都支持流畅的接口。

我个人使用Autofac

Nicholas Blumhardt 写了一篇great article 'The Relationship Zoo',详细描述了这些天你可以用依赖注入做什么 - 非常值得一读。

【讨论】:

  • 问题是什么是目前最好和最流行的。我知道 Scott 的帖子,但它与当前状态无关。我选择了 SO 这样的场所,因为那是获取这些信息的最佳场所。
  • 您是否查看过 Oliver Sturm 去年的 IoC 民意调查sturmnet.org/blog/2010/03/04/… ... 还是您正在寻找更多最新信息?
  • 这肯定是最近的,但它留下了结构图和温莎城堡之间谁赢的问题。我想我可以检查一下哪个项目更活跃。
  • 我认为您不应该寻找赢家,因为这是非常主观的,因为它们或多或少都具有相同的功能。您可能还需要缩小您的问题范围,因为有些问题在 ASP.NET MVC 中会更受欢迎,因为对于基于客户端的 .Net 应用程序等可能会完全不同。祝您的课程好运
  • 感谢您的帮助。不是在寻找赢家,而是在寻找社区的一些意见和大方向。
最近更新 更多