Czy MEF jest frameworkiem dependency injection?

Niedawno ogłoszony managed extensibility framework (MEF) Z. NET 4.0 - czy jest to framework iniekcji zależności? Czy Microsoft Unity z Patterns and Practices będzie przestarzały w 4.0 ? W jaki sposób MEF porównuje się do takiego frameworka jak Unity?

Author: Greg Hewgill, 2008-11-16

4 answers

Specjalnie poruszony w 2. Keynote PDC 2008 Scotta Guthriego, MEF ma znacznie więcej wspólnego z takimi rzeczami, jak rozszerzenie Visual Studio 2008 i innych aplikacji, bez konieczności korzystania ze wszystkich technologii COM i starszych... Bardzo dobra demonstracja rozszerzenia edycji tekstu w VS2008 została pokazana między innymi. Rozpocznij około godziny i 15 minut do drugiego dnia keynote ( http://www.microsoftpdc.com ) i uzyskasz bezpośrednie informacje, ale w zasadzie jeśli zamierzasz "zbuduj aplikację z wbudowanymi punktami rozszerzalności, które można łatwo wykryć i które obsługuje Wykrywanie rozszerzeń", a następnie MEF jest tym, czego chcesz. UNITY jest tym, czego potrzebujesz dla wysokiej jakości kontenera IoC, który działa DI, jak również innych rozwiązań, ale ma świetną i łatwą integrację z biblioteką korporacyjną.

Odnośnie jedności w EL4.0 (teraz 4.1 -- http://msdn.microsoft.com/en-us/library/dd203099.aspx ) jest to w rzeczywistości IoC, który siedzi na szczycie Wersja 2 ObjectBuilder i EL4.1 posiada punkty rozszerzalności dla ujednolicenia konfiguracji różnych bloków aplikacji EL z Unity.

MEF vs. Unity jest jak porównywanie jabłek do pomarańczy. Niektóre świetne i konkretne podcast / webcast(y), które opisują jedność w całości są tutaj, które Gorąco polecam: {]}

DotNetRocks Show #393 http://www.dotnetrocks.com/default.aspx?showNum=393 DNR.tv Pokaż # 126 http://www.dnrtv.com/default.aspx?showNum=126

 27
Author: Scott Wade,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-11-15 22:09:36

Widziałem jeden zapis, który sprawił, że brzmiał jak jeden, ale więcej informacji ( Scott Guthrie w PDC2008[wideo/wmv]) sprawiło, że pomyślałem, że to więcej niż Framework iniekcji zależności. Z sounds of things można go użyć do iniekcji zależności, ale robi też więcej.

 1
Author: Hamish Smith,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-11-15 21:17:53

Oto rozmowa o MEF/Maf / Unity / Prism, którą uważam za oświecającą.

 1
Author: Doug,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-03-18 22:10:30

Chciałbym dodać jedną linię mopre, którą właśnie przeczytałem, że MEF nie jest częścią inwersji sterowania (jak mówi się dependecny jest synonimem IOC), ale implementuje ją . Kiedy implementujemy IOC za pomocą iniekcji zależności, Zazwyczaj używamy Unity, co pomaga w odkrywaniu zależności statycznych, ale MEF pozwala nam zwiększyć rozszerzalność naszej aplikacji bez konfigurowania statycznie komponentów, nawet jeśli mogą być one odkryte w czasie wykonywania. Są też inne linki, które może pomóc ci bardziej: różnica między Unity a MEF

 0
Author: Iti Tyagi,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-09-07 07:46:55