Java Reference
In-Depth Information
entsteht aber durch die Art, wie das Strukturmuster Kompositum verwendet wird,
und nicht durch das Strukturmuster selbst.
x Im Kompositum-Muster werden alle Knoten gleich behandelt. Bei Anwendungen, in
denen der Aufbau einer Kompositum-Struktur gewissen Einschränkungen unterlie-
gen soll, müssen diese Einschränkungen durch Typprüfungen zur Laufzeit gewähr-
leistet werden. Als Beispiel hierzu wird folgendes Szenario betrachtet: Ordner kön-
nen Ordner und Dateien enthalten. Source-Ordner sind ebenfalls Ordner, können
aber nur bestimmte Dateien, nämlich Quellcode-Dateien enthalten. Eine solche Ein-
schränkung kann über das Kompositum-Muster nicht umgesetzt werden.
x Das Entwurfsmuster Kompositum ist sehr mächtig. Sobald jedoch Änderungen an
der Basisschnittstelle durchgeführt werden, wie z. B. das Hinzufügen einer neuen
Methode, bedeutet dies auch, dass alle davon abgeleiteten Klassen potenziell eben-
falls geändert werden müssen.
4.7.5 Einsatzgebiete
Das Kompositum-Muster kann im Zusammenhang mit dem Entwurfsmuster Befehl an-
gewandt werden. Mit Hilfe des Kompositum-Musters kann ein Befehl aus mehreren
Befehlen zusammengesetzt werden. Dadurch können Befehlsskripte bzw. Makrobe-
fehle erstellt werden und trotzdem im Rahmen des Befehlsmusters wie einfache Be-
fehle behandelt werden.
Zusammengesetzte Nachrichten, die über mehrere Schichten einer Schichtenarchi-
tektur (siehe Kapitel 5.1) weitergereicht werden, sind typischerweise ineinander ver-
schachtelt und können mit Hilfe des Kompositum-Musters zusammengesetzt werden.
Diese Anwendung des Kompositum-Musters ist in der Literatur als eigenständiges
Muster unter dem Namen Composite-Message [Bus98] bekannt.
Beim Zusammensetzen von grafischen Oberflächen - wie es auch die Views im MVC-
Muster sind -, ist das Kompositum-Muster weit verbreitet. Ein Fenster einer View wird
dabei im Grafik-Paket Swing von Java aus Paneln aus verschachtelten Komponenten
zusammengesetzt. Durch die Verschachtelung entsteht eine Baumstruktur aus Kom-
ponenten, die aus Komponenten zusammengesetzt sind (in Swing Panels 48 ), und aus
Blättern, die keine anderen Komponenten in sich tragen (z. B. Schaltflächen). Die An-
wendung des Kompositum-Musters bei graphischen Oberflächen wird im folgenden
Beispiel im Detail ausgeführt.
Anwendungsbeispiel: Grafische Oberflächen mit Swing
Es soll die in folgendem Bild dargestellte Oberfläche erzeugt werden:
48 Panels stellen unsichtbare Objektbehälter dar, mit deren Hilfe es möglich ist, grafische Komponenten
zu Gruppen zusammenzufassen.
Search WWH ::




Custom Search