【问题标题】:IoC Container for WPF applicationWPF 应用程序的 IoC 容器
【发布时间】:2013-02-09 13:28:16
【问题描述】:

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

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

编辑
我不是在寻找一个完整的框架。我只需要 IoC 容器能力,还有很多其他的选择。我在这里找到的最后一个相关讨论是几年前的,我想刷新一下。

【问题讨论】:

  • 简单快速?试试Simple Injector(无耻塞)。
  • 我读到了 Simple Injector 并看到它在 SilverLight 上运行。 WPF的应用会不会有问题?

标签: wpf ioc-container structuremap


【解决方案1】:

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

我为什么喜欢它:

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

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

Article by Martin Fowler

【讨论】:

  • 感谢您的帮助。我读了福勒的文章。在我们的代码中使用容器的主要阻力是因为它是“黑魔法”。我想表明它非常易于使用和理解。
  • 黑魔法不受欢迎。 :/ 不过我真的很想成为魔术师。
  • @Noich:的确,如果你从历史上看,成为魔术师一直是个问题。无论如何,这都是关于了解你的技巧。祝你好运!
【解决方案2】:

结构图不是dead

我们正在将它用于我们的新绿地项目,当 v3 发布时,我们可能会迁移到它。 ATM 使用 2.6.4。

【讨论】:

    【解决方案3】:

    您的问题是购物清单类型的问题,因此不会长时间保持打开状态。

    有许多 IoC 类型的框架,其中一些需要声明性或编程操作来完成它们的工作,其中一些使用代码语义来连接。

    我建议你从Unity1 开始,直到你开始熟悉事物,然后当你能体会到它们之间的差异时,再寻找更多的exotic frameworks .


    1 这是一篇不错的近期介绍文章:Visual Studio magazine: Creating Modularity with WPF, Prism and Unity

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-03-03
      • 1970-01-01
      • 2012-12-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多