Es gibt keine beste Lösung, es hängt von Ihrem Anwendungsdesign ab. MEF ist kein universeller IoC-Container (anders als Unity, Autofac usw.), und sein Fokus liegt auf der Auffindbarkeit von Typen und ihrer Zusammensetzung.
Sie eignet sich für Verbundanwendungen, bei denen Erweiterungen zur Laufzeit erkannt und in die Shell der Anwendung integriert werden können. Seine Stärke liegt in der Tatsache, dass unterstützende Baugruppen in einen bestimmten Ordner fallen und ohne zusätzliche Arbeit abgeholt werden können.
Einheit usw. ist allgemeiner Zweck und bieten Funktionen über MEF und zusätzlich Zusammensetzung zum Objekt ist auch gegenüber anderen Dimensionen der DI wie Lebensdauer-Management und Abfangen konzentriert.
Es gibt nichts, was Sie daran hindert, sowohl MEF zur Unterstützung von Erweiterungen/Plugins als auch einen allgemeineren IoC-Container wie Unity/Autofac/Castle Windsor für Ihre allgemeine DI-Infrastruktur zu verwenden.
Wenn Sie neu in DI sind, dann bleiben Sie vielleicht zunächst bei MEF, da es alle benötigten Funktionen zur Objektkomposition bietet, und Rob hat bereits eine Implementierung des Bootstrappers zur Verfügung gestellt, der MEF verwendet.
Danke für die Erklärung;) –