2008-11-20 61 views

回答

10

詹姆斯·科瓦奇做了dnrtv screencast在那里他展示了如何创建自己的IOC容器。我向初学者推荐这不是因为它一定是你想要使用的,而是因为它显示了你为什么需要IOC容器的基础知识以及基本功能是什么。在此之后,请尝试移至Castle WindsorStructure Map

0

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

+0

您是否还购买过Java Spring书?或者只依靠文档。我想我必须在下周开始挖掘。谢谢。 – BuddyJoe 2008-11-20 03:32:11

5

我记得在Castle's Windsor上有一些非常简单的tutorials from BitterCoder,我发现它很有帮助且易于遵循。

即使您决定使用Windsor或不使用Windsor,那些演练仍应该能够让您了解其他容器所需的特性/功能类型。

0

我会说Struc tureMap。它是更成熟的框架之一,并且非常易于使用。此外,它可以很好地与NMock集成,创建对单元测试非常有用的模拟对象。 微软支持的框架是Unity,所以你也可以看看。

0

我同意dp。该截屏的作者甚至说,你应该推出你的。这样你就会知道他们是如何工作的。然后,一旦你有了这些,你可以继续阅读更全面的专栏。

也有人提到,真的没有一个“一个国际奥委会容器来统治他们”。这是因为它们几乎都具有相同的功能。这归结于你喜欢哪个实现。例如,如果您正在使用企业库框架,那么您可能会偏好Unity容器,因为您可以免费获得与EntLib其余部分的绑定。或者,也许你对XML过敏,那么你可以使用Ninject,它有一个非常漂亮的流畅界面。每个框架都有其优点和缺点,但从初学者的角度来看,它们几乎是一样的。

6

Autofac.

轻巧,操作简单,快捷,C#3.0为导向,以工作(对我来说)比其他任何IOC容器(温莎连)复杂的项目更好。

主要特点:

  • 确定性处置组件
  • 表达为基础的配置
  • 多范围的组件,分辨率适当的支持
  • 高性能
  • 精益代码库
4

有一个伟大的通过Mark Seemann预订,名为Dependency Injection In .Net。本书的后半部分涵盖了足够详细的6个流行框架,以感受它们。值得一看,以帮助新人决定。他还介绍了那些不准备尝试容器的穷人的依赖注入,但希望至少以易于转换为使用IoC容器的方式编写应用程序。

他覆盖容器:

1

Danial Cazzulino在创建Funq DI容器时有bunch (scrunch?) of screencasts。 Funq轻量且快速,但缺乏更大,更成熟的框架的一些花里胡哨的声音。

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