Java Reference
In-Depth Information
5.3.5 Einsatzgebiete
Die Einsatzgebiete von Plug-ins liegen in erster Linie dort, wo ein großer Kreis von
Anwendern ein System nutzt und jede Gruppe von Anwendern dabei eigene Anforde-
rungen hat, die sich oft nur in Details von den Abläufen anderer Anwenderkreise unter-
scheiden. Für jeden dieser Anwenderkreise ein eigenes System zu entwickeln und
durch Wartung am Leben zu erhalten, ist nicht kosteneffizient und wenig zweckmäßig.
Die Lösung liegt in einem einzigen System, das die Anforderungen aller Anwenderkrei-
se abdeckt, wobei jedoch jedem Anwender nur die von ihm genutzten Funktionen zur
Verfügung gestellt werden.
Ein zusätzliches Einsatzgebiet stellt die Möglichkeit der eigenen Erweiterung der Appli-
kation dar, falls eine Anforderung nicht wie gewünscht abgedeckt wird. Durch die ge-
zielte Definition von Schnittstellen zur Erweiterung einer Applikation kann diese -
eventuell mit Einschränkungen - durch den Anwender selbst um Funktionalität erwei-
tert werden.
Ein bekanntes Anwendungsbeispiel findet sich im Bereich von Webbrowsern. Hier
kann eine Plug-in-Architektur bei der Wiedergabe von medialen Inhalten genutzt wer-
den. Für jedes zu öffnende Medium (z. B. Video oder Bilder diverser Formate) lädt der
Webbrowser das entsprechende Plug-in, das den medialen Inhalt am Bildschirm an-
zeigt.
5.3.6 Ähnliche Muster
Entwurfsmuster, die zur Erweiterung des Verhaltens bzw. der Funktionalität genutzt
werden können, sind beispielsweise auch die Strukturmuster Dekorierer und Strate-
gie . Im Gegensatz zu einem Plug-in gibt es bei diesen Mustern jedoch keine fest defi-
nierte öffentliche Schnittstelle, die von Dritten zur Erweiterung der Funktionalität zur
Laufzeit genutzt werden kann. Ebenfalls existiert dort kein Mechanismus, um z. B. alle
vorhandenen Erweiterungsmöglichkeiten aufzulisten. Beim Architekturmuster Plug-in
übernimmt dies der Plug-in-Manager.
In [Bus98] findet sich das Architekturmuster Microkernel . Es hat eine ganz ähnliche
Zielsetzung wie das Architekturmuster Plug-in: Ein Microkernel enthält Funktionen für
die Kommunikation von Komponenten untereinander und bietet Schnittstellen an, mit
denen Komponenten die Funktionen des Microkernel nutzen können. Im Unterschied
zum Muster Plug-in ist ein Microkernel auch für die Verwaltung systemweiter Ressour-
cen wie beispielsweise Prozesse und Dateien verantwortlich und steuert und koordi-
niert den Zugriff auf diese Ressourcen. Daher wird das Muster Microkernel hauptsäch-
lich im Zusammenhang mit dem Entwurf von Betriebssystemen erwähnt.
5.3.7 Programmbeispiel
An einem Anwendungsbeispiel Wörterbuch soll eine Plug-in-Architektur in der Pro-
grammiersprache Java veranschaulicht werden.
Search WWH ::




Custom Search