Begriff |
Managed Extensibility Framework |
Abkürzung |
MEF |
Synonyme/Aliase |
|
Erläuterung des Begriffs
Managed Extensibility Framework
Generisches Dependency Injection Framework für Add-In-Programmierung
Namespace: System.ComponentModel.Composition
Alternative für Mono: Mono.Addins
Ab .NET 4.0, Beta als Open Source auch schon für .NET 3.5 (http://www.codeplex.com/MEF)
Auch Silverlight
Es gab schon frühere Ansätze für Erweiterbarkeit in .NET:
- Visual Studio for Applications (VSA) alias Script for .NET (Namensraum Microsoft.Vsa) – seit 1.1 und in .NET 2.0 schon wieder als "obsolete" gekennzeichnet
- Managed Add-In Framework (MAF) (Namensraum System.AddIn) – seit .NET 3.5. Diese Biblio-thek ist weiterhin vorhanden, das in .NET 4.0 eingeführte MEF ist aber leichtgewichtiger und einfa-cher.
MAF bietet gegenüber MEF allerdings den Vorteil, dass man in MAF die Erweiterungen besser von der Hauptanwendung isolieren kann. MAF-Erweiterungen können dafür in eigenen Application Domains laufen.
Details
Icontract
- System.ComponentModel.Composition
Klasse Contract
- [Export]
- Refenziert Icontract und System.ComponentModel.Composition
Client
- Refenziert Icontract und System.ComponentModel.Composition
- [Import] Icontract
- Nachladen aus Katalog: Assembly-Katalog, Directory-Katalog, Type-Katalog, usw.
- CompositionContainer
- Im Standard werden Add-Ins in Default App Domain geladen
Optionen
Lazy<Icontract>: Instanzen erst beim Zugriff erzeugt
[ImportMany]: Mehrere Assemblies mit gleichem Typ laden
Add-Ins können Metadaten in Form von Attributen bereitstellen über das Add-In
Artikel in gedruckten Medien
Querverweise zu anderen Begriffen im Lexikon
Visual Studio for Applications Managed Add-In Framework System.ComponentModel Application Domain Script for .NET Metadaten Contract .NET 3.5 .NET 4.0 Attribut Assembly Codeplex Add-In Tiger Mono
|