Plug-ins definieren und zur Laufzeit anbinden
15.12.2016, 00:00 Uhr
Flexibler dank Plug-ins
Per Interface lassen sich Plug-ins leicht in ein Host-Programm integrieren.
Ausgehend von den Objekten im My-Namespace von Visual Basic .NET wurden in den zurückliegenden Beiträgen dieser Kolumne die Grundlagen dafür gelegt, Programme zu schreiben, die per Plug-in erweitert werden können, siehe [1] bis [5]. In dieser Folge von Basic Instinct sollen spezielle Plug-in-Objekte betrachtet werden, die neue Funktionalitäten verfügbar machen und in Host-Anwendungen eingebunden werden können. Die Host-Anwendung ermittelt diese Objekte sowie deren Funktionalitäten und Eigenschaften erst zur Laufzeit. Damit dies funktioniert, müssen sich sowohl die Host-Anwendung als auch alle Plug-in-Clients an eine einheitliche Schnittstelle halten. Diese Schnittstelle wird per Interface definiert und regelt die Funktionsanbindung, die offengelegten Aktionen und gegebenenfalls einen Datenaustausch.
Damit die Host- und Client-Anwendungen einen Bezug zueinander herstellen können, werden sie in der Regel im Programmverzeichnis der Host-Anwendung abgelegt. Dieses Verfahren wird später auch im Rahmen der Beispielanwendung genutzt. Es wäre aber auch denkbar, der Host-Anwendung ein eigenes Plug-in-Verzeichnis zu spendieren oder sie in speziellen Daten- oder Benutzerverzeichnissen abzulegen. Die letztgenannte Variante hat den Vorteil, dass unterschiedlichen Benutzern trotz einheitlicher Host-Anwendung auf demselben Rechner unterschiedliche Funktionen per Plug-in zugewiesen werden können.
Jetzt 1 Monat kostenlos testen!
Sie wollen zukünftig auch von den Vorteilen eines plus-Abos profitieren? Werden Sie jetzt dotnetpro-plus-Kunde.
- + Digitales Kundenkonto,
- + Zugriff auf das digitale Heft,
- + Zugang zum digitalen Heftarchiv,
- + Auf Wunsch: Weekly Newsletter,
- + Sämtliche Codebeispiele im digitalen Heftarchiv verfügbar