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