Мне не известны последние возможности MEF, но что я могу сказать, так это то, что MEF - это структура, которая решает проблемы расширения для приложений.Основное внимание уделяется включению сценариев надстроек для стандартного программного обеспечения.Он имеет так много черт с «правильными» контейнерами IoC, что в будущем он может стать полноценным контейнером IoC.
Mef был создан для другой цели, чем контейнер IoC.Его цель - предоставить общую платформу для включения функциональности надстроек для стандартных приложений.С точки зрения стандартного приложения надстройка - это, по сути, неизвестный компонент .
Когда мы используем контейнер IoC в качестве инструмента для создания приложения, мы знаем о компонентах, которыесоставьте заявку.
Контейнеры IoC нацелены на разделение состава сервисов, что хорошо, но разработчик должен знать о компонентах, которые он хочет составить, в то время, когда сконфигурированный конейнер настроен, когда MEF стремится к обнаружению компонентов.Единственное, что вам следует знать, - об абстракции, которую вы хотите использовать.
MEF имеет так много общего с контейнерами IoC, что иногда трудно сказать, как мы должны это учитывать.
Я думаю, чтоосновной недостаток MEF:
- плохое управление временем жизни по сравнению с IoC
- отсутствие перехвата
Какие основные моменты при разговоре о контейнерах IoC.