我想开始在现有 WPF 应用程序中使用 IoC 容器。
我需要良好的性能,但从我读到的内容来看,对于大多数容器来说,性能确实不是问题。
我最需要的是一个非常易于使用的容器,可以轻松集成到我的应用程序中。我阅读了有关 StructureMap 的建议(语法看起来很棒),但在他们的网站上似乎在过去 3 年里没有更新,所以我对此有一些疑问。
请提供带有基本使用代码示例的建议(初始化+使用)。
编辑
我并不是在寻找一个完整的框架。我只需要 IoC 容器能力,所以存在许多其他替代方案。我在这里找到的最后一个相关讨论已经有几年了,我想刷新它。
最佳答案
答案实际上取决于个人喜好和您的用例的详细信息。无论如何,在使用Unity、MEF(我知道,不是真正的IoC容器)并编写一些单独的解决方案之后,我现在正在使用Autofac并且非常喜欢它。它非常容易挖掘,并且随着使用时间的延长,它的优点会不断显现出来。与其他框架相比,它提供了流畅的界面并且速度很快(顺便说一句:容器的性能可能是一个非常重要的问题,具体取决于您想要做什么)。有关 Autofac 的用法和示例,请参阅上面的链接。
为什么我喜欢它:
- 易于入门
- 流畅的界面
- 支持开放泛型
- 支持程序集扫描
- 与 MEF 和其他框架的互操作性
- 足够快 ( Performance comparison of IoC containers )
不过,这是个人选择,并且还有其他好的解决方案,甚至可能更适合您的特殊情况。
而且,或多或少偏离主题,我可以推荐这篇文章,特别是后半部分,以供一般考虑。这对我帮助很大。所以,以防万一:
关于wpf - WPF 应用程序的 IoC 容器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15049429/