Существует довольно много классов приложений, которые ТРЕБУЮТ расширяемости, чтобы быть по-настоящему полезными и преуспеть в достижении ума. Два из самых больших классов приложений, с которыми я лично работал, которые требуют расширяемости, - это IDE и системы управления контентом (CMS).
Microsoft создает MEF для решения всех задач, когда вам необходимо поддерживать расширяемость ваших приложений. Команда MEF стала партнером команды Visual Studio, а редактор WPF в Visual Studio 2010 широко использует среду MEF. Однако команда MEF очень четко заявляет, что любое .NET-приложение, которое требует расширяемости, выиграет от использования инфраструктуры MEF, а не только от IDE. Тот факт, что среда MEF получает свой первый реальный тест, используемый в IDE, является лишь небольшим совпадением.
Платформа Eclipse, с другой стороны, представляет собой полный набор компонентов, необходимых для построения IDE. Используя подмножество этих компонентов, можно создавать многофункциональные приложения, которые не являются IDE. Однако неясно, в какой степени их среда разработки плагинов может использоваться по всем направлениям.
Другими словами, MEF разрабатывается так, чтобы его можно было использовать по всем направлениям во всех без исключения приложениях .NET, требующих расширяемости, но так уж получилось, что его реальный дебют состоится в Visual Studio 2010.
Платформа Eclipse изначально представляла собой набор компонентов, необходимых для построения IDE. Выбрав подмножество этих компонентов, вы также можете создавать и другие приложения.