wpf - WPF 应用程序的 IoC 容器

标签 wpf ioc-container structuremap

我想开始在现有 WPF 应用程序中使用 IoC 容器。
我需要良好的性能,但从我读到的内容来看,对于大多数容器来说,性能确实不是问题。
我最需要的是一个非常易于使用的容器,可以轻松集成到我的应用程序中。我阅读了有关 StructureMap 的建议(语法看起来很棒),但在他们的网站上似乎在过去 3 年里没有更新,所以我对此有一些疑问。

请提供带有基本使用代码示例的建议(初始化+使用)。

编辑
我并不是在寻找一个完整的框架。我只需要 IoC 容器能力,所以存在许多其他替代方案。我在这里找到的最后一个相关讨论已经有几年了,我想刷新它。

最佳答案

答案实际上取决于个人喜好和您的用例的详细信息。无论如何,在使用Unity、MEF(我知道,不是真正的IoC容器)并编写一些单独的解决方案之后,我现在正在使用Autofac并且非常喜欢它。它非常容易挖掘,并且随着使用时间的延长,它的优点会不断显现出来。与其他框架相比,它提供了流畅的界面并且速度很快(顺便说一句:容器的性能可能是一个非常重要的问题,具体取决于您想要做什么)。有关 Autofac 的用法和示例,请参阅上面的链接。

为什么我喜欢它:

不过,这是个人选择,并且还有其他好的解决方案,甚至可能更适合您的特殊情况。

而且,或多或少偏离主题,我可以推荐这篇文章,特别是后半部分,以供一般考虑。这对我帮助很大。所以,以防万一:

Article by Martin Fowler

关于wpf - WPF 应用程序的 IoC 容器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15049429/

相关文章:

c# - 即时服务器-客户端通信,C#?

c# - 使用 StructureMap 的简单工厂

dependency-injection - 为什么 MVC4 使用服务定位器反模式?

c# - 如何清除StructureMap缓存?

null - 如何使用 StructureMap 将 null 作为接口(interface)的默认实例传递?

c# - 更换Windows桌面

c# - 注册区域与在 Prism 中添加区域有什么区别?

c# - WPF 的控件属性是否存在性能劣势?

c# - Unity Container - 将 T 动态传递给 Resolve 方法

c# - 依赖注入(inject)解析和单元测试