Hier die Materialien zum Vortrag Extensiblility bei der Usergroup Paderborn (Powerpoint + 3 Demo Projekte).
Externe Erweiterbarkeit von Programmen
Scripting
Das Demo zeigt die Einbettung von IronPython in C# und die Manipulation der C# Daten durch IronPython Scripte.
Links:
Homepage http://ironpython.codeplex.com/
IronPython Cookbook http://www.ironpython.info/index.php/Main_Page
Dynamische Compilierung
Das Demo zeigt (kurz) die Erzeugung eines In Memory Assemblies via CodeDOM
Links:
Dynamic Source Code Generation and Compilation http://msdn.microsoft.com/en-us/library/650ax5cx.aspx
QuickReference
http://msdn.microsoft.com/en-us/library/f1dfsbhc.aspx
Plugins [Managed Extensibility Framework (MEF)]
Das Demo zeigt eine Reihe von Techniken für dynamisch komponierbare Anwendungen auf Basis von MEF.
Links:
Homepage http://mef.codeplex.com
Contrib http://mefcontrib.codeplex.com/
Glen Block http://blogs.msdn.com/gblock
Deutscher Übersichtsartikel
http://msdn.microsoft.com/de-de/library/ee332203.aspx
Wann welche Art von Erweiterbarkeit?
Scripting für Ad hoc Erweiterungen (Makro aufzeichnen und anpassen), gut zugänglich für Poweruser
Dynamische Compilierung bei parametrisierten Snippets z.B. mathematische Funktionen oder Filter (Ausführung ist wesentliche häufiger als Änderung)
Plugins nutzen als mittel die Anwendung flexibel zu halten und Teilfunktionalitäten durch Externe zur Verfügung zu stellen