EMZETT.
Login

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