Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
Veröffentlicht von:Eburhard Lehnhoff Geändert vor über 10 Jahren
1
Das Strukturmuster Kompositum von C. Günther, T. Hammerschmidt und D. Kuhn
2
Zweck Ratloser Montage-Roboter, der nicht weiß wie viele Objekte er Montieren muss
3
Zweck (II) Entwurfsproblem: *Klient muss zwischen Blättern und Gruppierungen unterscheiden Lösung: *Einheitliche Behandlung von Objekten und Objektgruppen *Zusammenfassung von Objekten in Baumstrukturen
4
Motivation Beispielproblem: Fahrzeugmontage Fahrzeug besteht aus... primitiven Teilen: Schrauben, Muttern, Ventile,... Baugruppen: Motor, Bodenplatte, Getriebe,... Grundidee: behandle primitive Teile und Baugruppen einheitlich
5
Realisierung Abstrakte Klasse Komponente - repräsentiert sowohl primitive Teile als auch Baugruppen - deklariert (implementiert evtl.) gemeinsame Operationen
6
Anwendbarkeit Anwendbar wenn... - einheitliche Behandlung von primitiven und zusammengesetzten Objekten erforderlich - Teil-Ganzes-Hierarchien repräsentiert werden sollen
7
Struktur
8
Teilnehmer (I) Komponente: - deklariert Schnittstelle für die Objekte - implementiert evtl. Standardverhalten für einige Methoden - kann Schnittstelle für Kindobjektverwaltung bereitstellen - im Beispiel: Bauteil
9
Teilnehmer (II) Blatt: - primitives Objekt ohne Kindobjekte - implementiert konkrete Methoden - im Beispiel: Einzelteil
10
Teilnehmer (III) Kompositum: - Behälter (Container) für Kindobjekte - implementiert Methoden zur Kinderverwaltung - im Beispiel: Baugruppe
11
Teilnehmer (IV) Klient: - manipuliert die Objekte über die Komponentenschnittstelle - im Beispiel: Steuerprogramm für Roboter
12
Interaktionen Klient: - kommuniziert mit Objekten der Kompositionsstruktur über Schnittstelle der Komponente - ist Empfänger Blatt, so direkte Abhandlung - ist Empfänger Komposition, so Weiterleitung der Nachricht an Kindobjekte (evtl. Ausführung zusätzlicher Operationen vor oder nach der Weiterleitung)
13
Konsequenzen (I) Vorteile: - primitive Objekte können zu komplexeren zusammengesetzt werden, rekursive Wiederholung möglich - kein Unterschied zwischen primitiven und komplexen Objekten -> vereinfacht Klient - einfach erweiterbar
14
Konsequenzen (II) Nachteile: - kann Entwurf zu allgemein werden lassen - keine Kontrolle über abgeleiteten Klassen bzgl. Einschränkung
15
Implementierung (I) - explizite Referenzen auf Elternobjekt - gemeinsame Nutzung von Komponenten (Speicherplatz) - Maximierung der Komponentenschnittstelle - Deklaration von Verwaltungsoperationen für Kindobjekte - Ort des Behälters für enthaltene Komponenten
16
Implementierung (II) - Ordnung der Kindobjekte - Verbesserung des Laufverhaltens durch Zwischenspeichern - Löschen der Komponenten - Datenstrukturen zum Speichern von Komponenten
17
Verwandte Muster - Zuständigkeitskette - Dekoriermuster - Fliegengewichtmuster - Iteratormuster - Besuchermuster
18
Noch Fragen?
Ähnliche Präsentationen
© 2024 SlidePlayer.org Inc.
All rights reserved.