.NET - 您会向该领域的初学者推荐什么 IoC 容器框架?[关闭]
-
08-07-2019 - |
题
您会向该领域的初学者推荐哪种控制反转容器框架?
解决方案
James Kovacs做了一个dnrtv 截屏视频,在那里他展示了如何创建你的拥有IOC容器。我向初学者推荐这个并不是因为它必然是你想要使用的那个,而是因为它显示了为什么你需要一个IOC容器以及基本功能的基础知识。在此之后,尝试继续 Castle Windsor 或结构图。
其他提示
轻量、简单、快速、面向 C# 3.0,并且(对我来说)在复杂项目中比任何其他 IoC 容器(甚至 Windsor)都能更好地工作。
主要特点:
- 组件的确定性处置
- 基于表达式的配置
- 对多范围组件解析的适当支持
- 高性能
- 精益代码库
我记得有一些非常简单的 来自 BitterCoder 的教程 在 温莎城堡 我发现这很有帮助并且易于遵循。
即使您决定是否使用 Windsor,这些演练仍然应该让您很好地了解其他容器所期望的特性/功能类型。
我已经对 Spring.NET端口进行了一些评估。它提供容器的AOP,配置文件设置和其他很酷的东西。我认为他们的网站组织得很好,文档写得很好。
我会说StructureMap。它是一个比较成熟的框架,非常容易使用。此外,它可以很好地与NMock集成,以创建模拟对象,这对于单元测试非常有用。 Microsoft支持的框架是Unity,因此您也可以查看它。
我同意dp。该截屏视频的作者甚至说你应该滚动你的。这样你就会知道它们是如何工作的。然后,一旦你有了这个,你可以继续前进到更全功能的一个。
还有人提到,确实没有“一个IOC容器来统治它们”。这是因为它们几乎都具有相同的功能。它归结为您喜欢的实现。例如,如果您正在使用Enterprise Library Framework,那么您可能会偏爱Unity容器,因为您可以获得与EntLib其余部分的免费绑定。或者您可能对XML过敏,那么您可以使用Ninject,它具有非常好的流畅界面。每个框架都有自己的优点和缺点,但从初学者的角度来看,它们几乎是一样的。