Ich arbeite seit ungefähr 2 Wochen mit MEF. Ich begann darüber nachzudenken, wofür MEF gedacht ist, recherchierte, um herauszufinden, wie man MEF verwendet, und implementierte schließlich einen Host mit 3 Modulen. Die Verträge erweisen sich als leicht verständlich und die Module sind leicht zu verwalten.
Obwohl MEF einen sehr praktischen Nutzen hat, frage ich mich, inwieweit? Ich meine, wird jeder bestehende Anwendungen aus Gründen der Erweiterbarkeit neu schreiben?
Ja, das klingt und ist wahnsinnig unpraktisch. Rhetorisch gesprochen:
Wie wirkt sich MEF auf die aktuellen Programmtrends aus?
Haben Sie nach Möglichkeiten gesucht, MEF zu nutzen?
Haben Sie begonnen, eine umfassende Überarbeitung einer vorhandenen App zu planen, die möglicherweise von der Erweiterbarkeit profitiert?
Meine Fragen lauten jedoch:
Woher weiß ich, wann ich ein neues Projekt mit Erweiterbarkeit planen sollte?
Woher weiß ich, ob ein vorhandenes Projekt aus Gründen der Erweiterbarkeit neu geschrieben werden muss?
Verwendet jemand MEF?
quelle
Derzeit verwende ich MEF in einigen Projekten, die das Repository-Muster enthalten.
Einer verwendet beim Testen von Einheiten unterschiedliche Repository-Typen, das andere Projekt verwendet lokale (direkt an DB), Remote- (WCF) und Test-Repositorys.
Beide Projekte können ihre Repository-Typen über Code oder Konfiguration ändern und basieren auf MEF-Metadaten / Lazy-Typen.
Bisher laufen beide Projekte unglaublich gut.
quelle