jenswinter.com
Software Development 24/7

Einführung in das Managed Extensibility Framework (Teil 1)

September 29, 2008 22:33 by Jens
Anfang September wurde die zweite Preview eines interessantes Projektes des .NET Framework Teams auf Codeplex veröffentlicht. Es handelt sich dabei um das Managed Extensibility Framework (MEF). Die Projekt-Homepage befindet sich unter http://www.codeplex.com/mef.

Das MEF ist ein Framework, welches die Entwicklung von erweiterbaren .NET Anwendungen ermöglicht. Die Wiederverwendung und Erweiterung von Komponenten wird damit in Zukunft um einiges einfacher.
Bisher wurden Anwendungen erweiterbar und dynamisch entwickelt, indem mühselig eine Plugin-Infrastruktur eingebaut werden musste. Große Teile dieser Infrastruktur mussten sich um das dynamische Laden von Assemblies und Type kümmern. Viele Zeilen Quelltext sind geschrieben worden, um per Reflection auf externe Komponenten zuzugreifen.
Mit dem MEF wird dem Entwickler ein Großteil der Arbeit abgenommen.

In einer Artikelserie werde ich in die Verwendung das Managed Extensibility Frameworks einführen.

Was bietet das MEF?

Mit Hilfe des MEF können Anwendungen um Funktionalitäten erweitert werden, die sich in externen Komponenten befinden. Diese Komponenten können wiederum andere externe Komponenten verwenden. Für die Auflösung der Abhängigkeiten sorgt dabei das Framework. Anwendungsentwickler müssen sich also nur noch um die Implementierung der Funktionalitäten kümmern. Das Verknüpfen der Bestandteile wird komplett vom MEF übernommen.

Das Framework verfügt dabei über eine Reihe von Möglichkeiten, die benötigten Komponenten zu finden, einzusammeln und zu laden.

Die Erweiterungen können mit Meta-Informationen versehen werden. Dies erlaubt das Abfrufen und Filtern bestimmter Komponenten.

Im nächsten Artikel werde ich die Funktionsweise und Verwendung anhand einer kleinen Beispielanwendung demonstrieren. 

Related posts

Comments

September 30. 2008 00:54

Robert

Hallo Jens,
ich hab schon ein paar interessante MEF Posts gelesen, was mir allerdings bislang ein kleines Rätsel ist: Wie spielt MEF mit System.Addin zusammen? In einem englischsprachigen Post ging es um dieses Thema, allerdings sind mir die wirklichen Unterschiede nicht ganz klar gewurden.
Vielleicht kannst du ja die Frage mit einem deiner nächsten Blogposts beantworten Smile

Robert

October 2. 2008 09:46

Jens

Hi Robert,
Diese und die Frage, wie sich MEF von einem DI-Container unterscheidet sind vermutlich die am häufigsten gestellten Fragen, wenn es um MEF geht.
Ich werde auf jeden Fall in einem Blog Post auf diese Themen eingehen.

Jens

Add comment


(Will show your Gravatar icon)  

  Country flag

[b][/b] - [i][/i] - [u][/u]- [quote][/quote]



Live preview

November 21. 2008 03:28