Composite-Muster
Kurz: Das Composite-Muster behandelt einzelne Objekte und Gruppen von Objekten gleich. So lassen sich Baumstrukturen einheitlich bearbeiten.
Genauer: Eine gemeinsame Schnittstelle gilt für „Blätter” (einzelne Elemente) und „Container” (enthalten weitere Elemente). Ein Aufruf wie groesse() auf einem Ordner addiert rekursiv die Größen aller Inhalte.
Im Detail
- Beispiele: Dateisystem (Datei und Ordner), Grafikprogramme (Form und Gruppe), UI-Bäume (Komponenten in Komponenten), HTML-Elemente.
- Vorteil: Aufrufer müssen nicht zwischen Einzelteil und Gruppe unterscheiden.
- Nachteil: Die Schnittstelle kann zu allgemein werden.
- Verwandt: Baum-Datenstruktur, Rekursion.
Siehe auch: Decorator-Muster (Dekorierer), Fassade-Muster