Frage

Welche Probleme hat MEF (Managed Extensibility Framework) löst, die nicht durch bestehende IoC / DI-Container gelöst werden?

War es hilfreich?

Lösung

Der Hauptzweck von MEF ist Erweiterbarkeit; als ‚Plug-in‘ Rahmen für die, wenn der Autor der Anwendung und der Autor des Plug-in ( Erweiterung ) ist unterschiedlich und hat keine besonderen Kenntnisse voneinander über eine veröffentlichte Schnittstelle zu dienen ( Vertrag ) Bibliothek.

Ein weiteres Problem Raum MEF-Adressen, die von den üblichen Verdächtigen IoC anders ist, und einer von MEFs Stärken ist [Erweiterung] Entdeckung. Es hat eine Menge von, na ja, erweiterbaren Ermittlungsmechanismen, die auf Metadaten arbeiten Sie mit Erweiterungen zuordnen können. Von der MEF CodePlex-Website:

"MEF ermöglicht Tagging Erweiterungen mit zusätzlichen Metadaten, die reich Abfrage- und Filter erleichtern"

mit einer Fähigkeit, Kombinierter hinauszuzögern Last Erweiterungen markiert, die Erweiterung von Metadaten in der Lage zu befragen vor zu Laden öffnet die Tür zu einer Reihe von interessanten Szenarien und ermöglicht wesentliche Funktionen wie [Plug-In] Versionierung.

MEF hat auch ‚Contract-Adapter‘, die Erweiterungen zu ‚angepasst‘ oder ‚transformieren‘ ( von type> eingeben) ermöglichen die vollständige Kontrolle über die Einzelheiten dieser Transformationen. Contract Adapter eröffnen eine weitere kreative Front in Bezug auf genau das, was ‚Entdeckung‘ Mittel und zur Folge hat.

Auch hier ‚Absicht‘ MEFs ist eng auf anonymen Plug-in fokussiert Erweiterbarkeit, etwas, das sehr viel von anderen IoC Container unterscheidet. So, während MEF für Zusammensetzung verwendet werden, das ist nur ein kleiner Schnittpunkt seiner Fähigkeiten im Vergleich zu anderen IOCs, mit dem ich vermute, wir werden eine Menge inzestuösen Zusammenspiel geht nach vorn sehen werden.

Andere Tipps

IoC Container konzentrieren sich auf die Dinge wissen Sie, das heißt ich weiß, dass ich einen Logger in einem Unit Test verwenden und einen anderen Logger in meiner app. MEF konzentriert sich auf jene Dinge, die Sie nicht, es gibt 1 bis n-Logger, die in meinem System erscheinen.

Scott Hanselman und ich bedeckt dieses Thema ausführlicher in den letzten Hansel.

http://www.hanselminutes.com/default.aspx?showID=166

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top