2008-11-15 7 views
32

Недавно анонсированная управляемая инфраструктура расширяемости (MEF) .NET 4.0 - это инфраструктура инъекции зависимостей? Будет ли Microsoft Unity от шаблонов и практик устаревать в 4.0? Как MEF сравнивается с каркасом вроде Unity?Является ли MEF основой для инъекций зависимостей?

+0

[Этот вопрос] (http://stackoverflow.com/questions/42251/whither-managed-extensibility-framework-for-net) может быть интерес к вам. – 2008-11-15 21:30:45

ответ

27

В частности, речь идет о втором ключевом слове 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

+10

Но почему я хочу использовать Unity, когда у меня есть MEF? – bitbonk 2008-11-18 21:23:25

1

Я видел один напиток, который заставлял его звучать как одна, но более подробная информация (Scott Guthrie at PDC2008 [Video/wmv]) заставляла меня думать, что это больше, чем основа для инъекций зависимостей. С sounds of things он может использоваться для инъекций зависимостей, но также делает больше.

0

Я хотел бы добавить одну линию мопров, которую я только что прочитал, что MEF не является частью инверсии управления (поскольку dependecny называется синонимом IOC), но он реализует его. Когда мы внедряем IOC через инъекции зависимостей, мы обычно используем Unity, который помогает в обнаружении статических зависимостей, но MEF позволяет нам увеличивать расширяемость нашего приложения без статической настройки компонентов, даже если их можно обнаружить во время выполнения. Есть другие ссылки, а также которые могут помочь вам больше: Difference between Unity and MEF

+1

Я не уверен, что этот ответ вполне согласован – 2012-09-25 04:41:32

Смежные вопросы