5

您会向该领域的初学者推荐什么 Inversion of Control Container 框架?

4

9 回答 9

10

James Kovacs 做了一个 dnrtv截屏视频,展示了如何创建自己的 IOC 容器。我向初学者推荐这个不是因为它一定是你想要使用的那个,而是因为它展示了为什么你需要一个 IOC 容器以及基本功能是什么的基础知识。在此之后,尝试继续前往温莎城堡结构图

于 2008-11-20T03:35:03.770 回答
6

自动法。

轻量级、简单、快速、面向 C# 3.0 并且(对我而言)在复杂项目中比任何其他 IoC 容器(甚至 Windsor)都更好。

主要特点:

  • 组件的确定性处置
  • 基于表达式的配置
  • 正确支持多范围组件分辨率
  • 高性能
  • 精益代码库
于 2009-06-01T07:17:24.697 回答
5

我记得有一些来自 BitterCoder关于Castle's Windsor 的非常简单的教程,我发现这些教程很有帮助且易于理解。

即使您决定是否使用 Windsor,这些演练仍然应该让您对其他容器的特性/功能类型有一个很好的了解。

于 2008-11-20T03:40:18.113 回答
4

Ninject似乎在这些问题上得到了很多支持

https://stackoverflow.com/questions/71041/which-single-iocdi-container-would-you-recommend-using-and-why

哪些 .NET 依赖注入框架值得研究?

于 2008-11-20T03:30:19.443 回答
4

Mark Seemann有一本很棒的书,叫做.Net 中的依赖注入。本书的后半部分详细介绍了 6 个流行的框架,让您对它们有所了解。值得一看以帮助新人做出决定。他还为那些还没有准备好尝试容器,但希望至少以一种可以轻松转换为使用 IoC 容器的方式编写他们的应用程序的人介绍穷人的依赖注入。

他涵盖的容器是:

于 2012-01-04T05:17:36.283 回答
1

Danial Cazzulino 有一堆(紧缩?)关于创建Funq DI 容器的截屏视频。Funq 是轻量级和快速的,但缺少一些更大、更成熟的框架的花里胡哨。

我使用 Funq 派生的Munq,它也是轻量级和快速的,并且是通过 Nuget 将 DI 容器添加到 MVC3 项目的简单方法。到目前为止,我还没有发现任何需要迁移到不同的框架 - Munq 已经非常足够了。

于 2012-01-09T02:15:03.080 回答
0

我对Spring.NET 端口做了一些评估。它提供了 AOP、容器的配置文件设置和其他很酷的东西。我认为他们的网站组织得很好,文档也写得很好。

于 2008-11-20T03:20:43.037 回答
0

我会说结构图。它是更成熟的框架之一,并且非常易于使用。此外,它可以很好地与 NMock 集成以创建对单元测试非常有用的模拟对象。Microsoft 支持的框架是 Unity,因此您也可以查看它。

于 2008-11-20T11:43:23.347 回答
0

我同意dp。该截屏视频的作者甚至说你应该滚动你的。这样你就会知道它们是如何工作的。然后,一旦你把它弄下来,你就可以继续使用功能更全的。

也有人提到,真的没有“一个 IOC 容器来统治他们”。这是因为它们几乎都具有相同的功能。这取决于您喜欢哪种实施方式。例如,如果您大量使用 Enterprise Library Framework,那么您可能更喜欢 Unity 容器,因为您可以免费绑定到 EntLib 的其余部分。或者你可能对 XML 过敏,那么你可以使用 Ninject,它有一个非常流畅的界面。每个框架都有其优点和缺点,但从初学者的角度来看,它们几乎是相同的。

于 2008-11-20T17:33:27.730 回答