Java Reference
In-Depth Information
Basisablauf : Der Plug-in-Manager hat ein Plug-in gefunden, welches das von der Ap-
plikation gewünschte Interface implementiert. Der Plug-in-Manager erzeugt anschlie-
ßend eine Instanz des Plug-ins. Die Applikation kann nun die in der Schnittstelle defi-
nierten Funktionen eines Plug-ins über den Plug-in-Manager aufrufen. Dieser leitet die
Aufrufe an das gewünschte Plug-in weiter.
Alternativablauf : Der Plug-in-Manager hat kein Plug-in gefunden, das die gewünschte
Schnittstelle implementiert. In der Regel wird dann eine Fehlerbehandlung ausgelöst
und der gewünschte Anwendungsfall (z. B. die Wiedergabe einer Musikdatei) kann
nicht durchgeführt werden. Die Applikation kann dann das Plug-in nicht ausführen,
wird aber weiter ausgeführt.
5.3.4 Bewertung
5.3.4.1 Vorteile
Die folgenden Vorteile werden gesehen:
x Jedes Plug-in besitzt seine eigene Zuständigkeit ( separation of concerns , siehe
Kapitel 1.3).
x Plug-in-Architekturen zeigen in der Regel ein robustes Verhalten.
x Der Mechanismus von Plug-ins bietet im Gegensatz zu Bibliotheken und Frame-
works den Vorteil, dass die Entwickler einer dritten Partei unabhängig Zusatzfunktio-
nalität für eine vorhandene Software entwickeln können, ohne Kenntnis über den
Programmcode der zu erweiternden Software haben zu müssen.
x Des Weiteren kann durch den modularen Aufbau eines Systems auf Basis von
Plug-ins das System "schlank" gehalten werden, indem nur die wirklich genutzten
Funktionen geladen werden.
x Der Wartungsaufwand sinkt, da die in Plug-ins ausgelagerte Funktionslogik für ei-
nen Anwendungsfall angepasst und als neue Version eines Plug-ins ausgeliefert
werden kann.
x Die Entwicklung komplexer Software kann bequem aufgeteilt werden.
x Plug-ins können in mehreren verschiedenen Versionen vorhanden sein und auch
gleichzeitig ausgeführt werden.
x Jedes Plug-in kann getrennt von den anderen Plug-ins getestet werden.
5.3.4.2 Nachteile
Die folgenden Nachteile werden gesehen:
x Der initiale Aufwand bei der Implementierung einer Anwendung ist höher, da die Ar-
chitektur der Anwendung Schnittstellen bereitstellen muss, welche von den Plug-ins
implementiert werden.
x Der Verwaltungsaufwand während der Ausführung einer speziellen Anwendung
steigt.
x Für Erweiterungen muss eine gemeinsame Schnittstelle gefunden werden. Plug-ins
haben zu dieser Schnittstelle eine Abhängigkeit.
Search WWH ::




Custom Search