MEF Teil 11 – Neuerungen unter .NET 4.5

Mit dem .NET Framework 4.5 wurden auch bei dem Managed Extensibility Framework (MEF) einige Neuerungen eingeführt. So werden jetzt offene generische Typen unterstützt und es gibt die Möglichkeit einer API-basierten Konfiguration. Dadurch wird eine lose Koppelung noch einfacher erreicht. Diese und alle neuen Erweiterungen erklärt der folgende Post.

Continue reading “MEF Teil 11 – Neuerungen unter .NET 4.5”

MEF Teil 10 – Parts über ExportProvider und App.config in AppDomain laden

Der folgende Post behandelt eigentlich mehrere Themen. Zum einen geht es um das Erstellen eines eigenen ExportProviders, der über die App.config die zu ladenden Parts ausliest. Zum anderen sollen die geladenen Parts in einer eigenen AppDomain ausgeführt werden.

Continue reading “MEF Teil 10 – Parts über ExportProvider und App.config in AppDomain laden”

MEF Teil 8 – Eigenen ExportProvider erstellen

Das Managed Extensibility Framework (MEF) kann durch verschiedene Möglichkeiten erweitert werden. Eine Variante sind eigene Export-Provider. Ein Export-Provider macht genau das, was der Name schon aussagt, er stellt Exports der Klasse CompositionContainer zur Verfügung. Wie die Exports gefunden und instanziiert werden, ist komplett unter eigener Kontrolle. Eine weitere Variante ist die Benutzung der Klasse CompositionBatch, die allerdings deutlich weniger Möglichkeiten bietet.

Continue reading “MEF Teil 8 – Eigenen ExportProvider erstellen”

MEF Teil 7 – Exportieren über eine Class Factory

Über die Attribute Import und Export werden Objekte fest miteinander verbunden, vorausgesetzt, sie sind zueinander kompatibel. Nicht immer ist diese ‘feste’ Bindung erwünscht. Eine Class Factory kann hierbei helfen, diese starre Zuordnung aufzubrechen. Der mögliche Einsatz einer Class Factory soll durch zwei einfache Beispiele gezeigt werden.

Continue reading “MEF Teil 7 – Exportieren über eine Class Factory”

MEF Teil 6 – Constructor-Injection

Bei Constructor-Injection werden sämtliche Abhängigkeiten einer Klasse über den Konstruktor übergeben. Damit kann ein Objekt der Klasse nur erzeugt werden, wenn alle Abhängigkeiten bei der Erstellung vorhanden sind. Der Einsatz von Constructor-Injection mit dem Managed Extensibility Framework soll durch ein einfaches Beispiel vorgestellt werden.

Continue reading “MEF Teil 6 – Constructor-Injection”

MEF Teil 5 – Composition und Recomposition

Die Kataloge und Container dienen dazu, die Instanzen der Composable Parts zu erzeugen und miteinander zu binden. In den vorherigen Blogs wurde dieses Thema nicht weiter behandelt. Das soll jetzt nachgeholt werden.

Continue reading “MEF Teil 5 – Composition und Recomposition”

MEF Teil 4 – Vererbung mit Composable Parts

Klassen, welche die Attribute Import und Export enthalten, können von anderen Klassen geerbt werden. Das Verhalten vom Managed Extensibility Framework (MEF) hat hierbei einige Besonderheiten, auch in Bezug auf mögliche Metadaten. Hilfestellung bietet das Attribut InheriedExport.

Continue reading “MEF Teil 4 – Vererbung mit Composable Parts”

MEF Teil 3 – Lifecycle beeinflussen und überwachen

Das Binden der Composable Parts wurde im 1. Teil ausführlich vorgestellt. Bei einer Anwendung kann es aber notwendig sein, solche Verbindungen gezielt wieder aufzulösen ohne gleich den ganzen Container zu löschen. Des weiteren werden Schnittstellen vorgestellt, die die Parts darüber informieren, ob deren Verbindung hergestellt, oder der Part komplett gelöscht wurde.

Continue reading “MEF Teil 3 – Lifecycle beeinflussen und überwachen”