【问题标题】:How does Microsoft's MEF compare to Eclipse?Microsoft 的 MEF 与 Eclipse 相比如何?
【发布时间】:2010-11-01 18:17:34
【问题描述】:

MEF(托管扩展框架)和 Eclipse 平台之间有什么共同点和不同点?我觉得 MEF 与添加了 DI 的 Eclipse 非常相似。

你的想法?

【问题讨论】:

  • MEF 是一个插件框架,Eclipse 是一个 IDE:它们没有可比性。还是您的意思是使用 MEF 的 VS2010 与使用其插件框架的 Eclipse?
  • Eclipse 不仅是一个 IDE,还是一个插件框架。
  • Eclipse是IDE,基于Equinox框架,基于OSGi规范

标签: .net eclipse plugins frameworks extensibility


【解决方案1】:

有相当多的应用程序需要可扩展性才能真正有用并成功获得注意力。我个人使用过的需要可扩展性的两大类应用程序是 IDE 和内容管理系统 (CMS)。

当您需要支持应用程序的可扩展性时,Microsoft 正在创建 MEF 作为最终解决方案。 MEF 团队与 Visual Studio 团队合作,Visual Studio 2010 中的 WPF 编辑器广泛使用 MEF 框架。然而,MEF 团队非常明确地指出,任何需要可扩展性的 .NET 应用程序都将受益于使用 te MEF 框架,而不仅仅是 IDE。 MEF 框架首次在 IDE 中使用真实世界测试这一事实只是一个小巧合。

另一方面,Eclipse 平台是构建 IDE 所需的一整套组件。通过使用这些组件的子集,可以创建非 IDE 的丰富应用程序。但是,尚不清楚他们的插件开发环境在多大程度上可以全面使用。

换句话说,MEF 被设计为可在任何和所有需要可扩展性的 .NET 应用程序中全面使用,但碰巧它在 Visual Studio 2010 中将在现实世界中首次亮相。

Eclipse 平台最初是构建 IDE 所需的一组组件。但是,通过选择这些组件的子集,您也可以构建其他应用程序。

【讨论】:

  • 由于 Eclipse 现在在幕后使用 OSGi,这不再是事实。 OSGi 是“应用程序”中立的,你可以得到。我想说的甚至比 MEF 还要多。例如,OSGi 中的服务概念首先是驻留在内存中的“微服务”,而不是大多数其他框架中假定的“Web 服务”。
【解决方案2】:

MEF 更类似于 OSGi 而不是 Eclipse。

看到这个问题:"Is MEF OSGi for .NET?"

【讨论】:

  • 但 OSGi 没有 DI,通常不用作可扩展性框架。
【解决方案3】:

OSGi 具有 DI,它是作为可安装模块提供的,而不是内置的...参见 DS、Blueprint、iPOJO

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-26
    • 2011-02-07
    • 2023-03-26
    • 2010-09-06
    • 2011-03-17
    • 2017-10-27
    相关资源
    最近更新 更多