Недавно анонсированная управляемая инфраструктура расширяемости (MEF) .NET 4.0 - это инфраструктура инъекции зависимостей? Будет ли Microsoft Unity от шаблонов и практик устаревать в 4.0? Как MEF сравнивается с каркасом вроде Unity?Является ли MEF основой для инъекций зависимостей?
ответ
В частности, речь идет о втором ключевом слове PDC 2008 Скотта Гатри, MEF имеет гораздо больше общего с вещами, такими как расширение Visual Studio 2008 и других приложений, без использования всех COM-технологий и более старых технологий ... Очень хорошо в частности, была показана демонстрация расширения текстового издания на VS2008. Начните около часа и 15 минут во второй дневной ток (http://www.microsoftpdc.com), и вы получите прямую информацию, но в основном, если вы собираетесь «создать приложение со встроенными точками расширяемости, которое легко обнаружить и которое поддерживает обнаружение расширения ", тогда MEF - это то, что вы хотите. UNITY - это то, что вы хотите для высококачественного контейнера IoC, который делает DI, а также других решений там, но имеет большую и легкую интеграцию с корпоративной библиотекой.
Что касается Unity в EL4.0 (сейчас 4.1 - http://msdn.microsoft.com/en-us/library/dd203099.aspx), то его фактически IoC, который находится поверх версии ObjectBuilder версии 2, и EL4.1 имеет точки расширяемости для унификации конфигурации различных блоков приложений EL с Unity ,
MEF vs. Unity похоже на сравнение яблок с апельсинами. Некоторые большие и конкретные подкаста/веб-трансляции (ы), которые описывают ЕДИНСТВО в полном объеме здесь, который я настоятельно рекомендую:
DotNetRocks Показать # 393 http://www.dotnetrocks.com/default.aspx?showNum=393 DNR.tv Показать # 126 http://www.dnrtv.com/default.aspx?showNum=126
Но почему я хочу использовать Unity, когда у меня есть MEF? – bitbonk 2008-11-18 21:23:25
Я видел один напиток, который заставлял его звучать как одна, но более подробная информация (Scott Guthrie at PDC2008 [Video/wmv]) заставляла меня думать, что это больше, чем основа для инъекций зависимостей. С sounds of things он может использоваться для инъекций зависимостей, но также делает больше.
Here's a conversation о MEF/MAF/Единство/Призма Я нашел просветление.
Я хотел бы добавить одну линию мопров, которую я только что прочитал, что MEF не является частью инверсии управления (поскольку dependecny называется синонимом IOC), но он реализует его. Когда мы внедряем IOC через инъекции зависимостей, мы обычно используем Unity, который помогает в обнаружении статических зависимостей, но MEF позволяет нам увеличивать расширяемость нашего приложения без статической настройки компонентов, даже если их можно обнаружить во время выполнения. Есть другие ссылки, а также которые могут помочь вам больше: Difference between Unity and MEF
Я не уверен, что этот ответ вполне согласован – 2012-09-25 04:41:32
- 1. Контейнер для инъекций MEF
- 2. Является ли Django основой?
- 3. Рельсы: Является ли Gemfile контейнером для инъекций зависимостей (DIC)?
- 4. Является ли этот дизайн для инъекций зависимостей легко понятным?
- 5. Контейнер для инъекций зависимостей
- 6. Нужен ли мне фреймворк для инъекций зависимостей?
- 7. Является ли laravel основой для папок?
- 8. Является ли Symfony хорошей основой для изучения?
- 9. Общий интерфейс для инъекций зависимостей
- 10. Абстрактные поля для инъекций зависимостей
- 11. Сериализация конфигураций для инъекций/инверсии зависимостей
- 12. Данные RunTime для инъекций зависимостей?
- 13. Использование кинжала для инъекций зависимостей для конструкторов
- 14. Понимание лунного света; Является ли это основой?
- 15. Является ли мой код безопасным для инъекций?
- 16. Является ли FieldByName безопасным для инъекций?
- 17. Является ли ООП основой любой отрасли математики?
- 18. Является ли MEF локатором сервисов?
- 19. Боязнь использования рамки для инъекций зависимостей
- 20. Является ли MEF заменой для System.Addin?
- 21. Является ли MEF OSGi для .NET?
- 22. Зачем использовать контейнер для инъекций зависимостей?
- 23. Маркировка классов для инъекций контейнера зависимостей
- 24. Как сохранить обзор материалов для инъекций зависимостей?
- 25. Azure Triggered Webjobs Область для инъекций зависимостей
- 26. Сколько контейнеров для инъекций зависимостей следует создать?
- 27. Рекомендации по проектированию классов для инъекций зависимостей
- 28. Статическое определение отсутствующих зависимостей при использовании контейнера для инъекций зависимостей
- 29. Что такое Pythonic для инъекций зависимостей?
- 30. Могу ли я использовать DefaultBinder для инъекций зависимостей?
[Этот вопрос] (http://stackoverflow.com/questions/42251/whither-managed-extensibility-framework-for-net) может быть интерес к вам. – 2008-11-15 21:30:45