Ответ 1
MEF и Prism выполняют две очень разные цели.
Prism - это в основном руководство для проектирования составных приложений - где у вас есть оболочка и "регионы", которые динамически назначаются и интегрированы. Он включает контейнер IoC (Unity), который он использует для его инъекции.
MEF - это инфраструктура инъекций зависимостей - главная цель - "заполнить" зависимости во время выполнения приложения. В этом отношении он выполняет ту же цель, что и Unity в Prism (и на самом деле вы могли бы легко переработать Prism для использования MEF вместо Unity).
Призма в какой-то мере расширяет сферу охвата, но также действительно ограничена приложениями GUI. MEF просто делает одну вещь (Dep.Injection), но предназначен для более общего назначения для любого типа приложений.
Изменить в ответ на обновление:
Что касается времени жизни этих продуктов - здесь нет ответа, но это как бы то, как они разрабатываются:
Призма была разработана командой "Шаблоны и практики". Цель состоит не в том, чтобы обязательно делать программное обеспечение, а в том, чтобы давать указания. Таким образом, они обновляют (хотя и нередко) библиотеку и образец Prism, но Prism не является основной частью структуры, поставляемой Microsoft. Это действительно сторонняя библиотека (хотя MS финансирует ее много, большинство людей P & P не являются MS FTE).
MEF, из сообщений в блоге, похоже, что он планируется интегрировать в структуру и использоваться непосредственно внутри проектов MS. Таким образом, он получает тяжелое развитие, непосредственно от Microsoft, и используется в своих продуктах.
Я лично прочитал документацию Prism (и имею книгу) и прошел через образцы. Очень полезно понять, как разбить приложение, но на самом деле это руководство больше, чем полная, пригодная для использования структура. Образцы очень хорошо выполняют то, что они предназначены, - обучают архитектора тому, как разработать составное приложение.
Если ваша цель - просто сохранить чистое разделение проблем в приложении silverlight, я бы больше сосредоточился на изучении MVVM, а не просто при использовании Prism.
Если вы хотите использовать MEF, есть и другие хорошие варианты. Например, WPF Application Framework - это вся инфраструктура MVVM, построенная поверх MEF и довольно приятная.