Zależy od wymagań/istniejącego kodu.
Jeśli masz istniejącą infrastrukturę kodu zbudowaną na kontenerze IoC, możesz w rzeczywistości połączyć je z MEF. Ostatnio budowałem framework ASP.NET MVC + MEF, a kilku moich czytelników pytało, jak zintegrować Unity z ramą MEF + MVC, którą zbudowałem. Okazało się to bardzo łatwe dzięki projektowi o nazwie Common Services Locator.
Projekt CSL jest zaprojektowany w celu zapewnienia abstrakcji nad punktu serwisowego, więc mogę chwycić dostawcy CSL Jedności, drut go ze zwyczajem ExportProvider i MEF automatycznie zaczyna komponować moje IoC-napędzane części.
Jest to jedna z korzyści modelu MEFs ExportProvider, można łatwo podłączyć dodatkowych dostawców, aby rozpocząć eksportowanie z różnych źródeł.
Ostatni tydzień I blogged about combining MEF+Unity (a także MEF + Autofac jako kolejny przykład) i chociaż moje przykłady są przygotowane dla ASP.NET MVC, koncepcja jest taka sama dla większości innych implementacji.
Jeśli masz możliwość budowania czegoś świeżego za pomocą MEF, prawdopodobnie okaże się, że nie potrzebujesz pojemnika IoC, MEF może obsługiwać wstrzyknięcie właściwości, wstrzyknięcie konstruktora, zarządzanie czasem części i rozdzielczość typu.
Daj mi znać, jeśli masz jakieś pytania :)
Proszę zaznaczyć odpowiedź z korzyścią dla społeczności i swój rating zatwierdzenia. – RyBolt