MEF oder ein Anbietermodell?
Frage
Ich arbeite an einem Projekt, das derzeit MEF verwendet, um Erweiterungen für eine Konsolenanwendung zu importieren. Ich betrachte die Möglichkeit, mehr als nur Konsolenausgaben für die Anwendung bereitzustellen, die den Anforderungen des Benutzers konfiguriert werden kann.
Ich frage mich, in welchen Weg ich gehen soll, um die Ausgangsfunktionalität an dieser Stelle zu erweitern. In der Vergangenheit würde ich ein benutzerdefiniertes Anbietermodell verwenden, damit die Erweiterungen über die App von App.config konfiguriert werden können.
Gibt es eine einfache Möglichkeit, Teile in MEF auf ähnliche Weise selektiv zu verwalten, oder sollte ich nur auf 2 unterschiedliche Erweiterbarkeitsmuster für mein Projekt zurückgreifen (dh MEF -Import für die Kernerweiterungen und ein .NET -benutzerdefiniertes Anbietermodell für die Ausgabeverwaltungsaspekte) ?
Lösung
James, was ich an MEF erinnere, zusätzlich zur Verwendung des Attribut -Import-/Exportmodells können Sie Ihr eigenes 'Provider' -Modell schreiben.
Sie sollten sich wahrscheinlich mit dem MEF -Beitragsprojekt befassen, das Erweiterungen des Standardmodells für den Standard -Anbieter enthält. IIRC Es verfügt über ein eingebautes Konfigurationsbasis -Anbietermodell und ein fließendes Programmiermodell.
Hör zu: