【问题标题】:When to use MEF [closed]何时使用 MEF [关闭]
【发布时间】:2010-05-14 23:00:46
【问题描述】:

我尝试了 Unity 和 MEF 以及普通的旧新。对于您何时需要使用这些“模式”中的任何一个,我有点困惑。如果使用 new 更简单且满足我的需求,我为什么会选择使用 MEF 或 Unity。

换句话说,什么需要证明使用 MEF 或 Unity 是合理的?

【问题讨论】:

  • 您在这里问两个问题:为什么要使用 Unity,以及为什么要使用 MEF。 Unity 是一个依赖注入框架。 MEF 用于插件和扩展等。

标签: silverlight unity-container mef


【解决方案1】:

MEF 允许隔离应用程序中的子系统。如果您需要经常更改子系统实现,甚至在运行时更改,这种隔离非常有用。 MEF 负责加载子系统并将所有提供者连接到适当的消费者的细节。这是朝着构建应用程序的理想迈出的一大步,它连接了一组相互不了解的自包含模块。

传统应用程序中的很大一部分代码专门用于将事物简单地粘合在一起 - 粘合代码。 MEF 大大减少了对粘合代码的需求。

如果您只是构建一个对象以便可以打开文件或显示对话框,那不是 MEF 的用途。如果您想编写使用通用 xyz 服务的代码,但又不想硬编码对供应商 a 或供应商 b 实现的依赖,那可能是 MEF 候选者。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-15
    • 2011-06-26
    • 1970-01-01
    相关资源
    最近更新 更多