Strukturmuster
# Strukturmuster

Strukturmuster (englisch structural design patterns) bilden in der Softwareentwicklung Entwurfsmuster, die durch Herstellen von Beziehungen zwischen Entitäten den Entwurf der Software erleichtern.

Beispiele für Strukturmuster sind

* Adapter: adaptiert eine Schnittstelle für eine Klasse in eine andere, die der Client erwartet:
   * Adapter-Pipeline: Verwendet mehrere Adapter, um so den Code auszutesten.
   * Nachrüstungsschnittstellenmuster (engl. retrofit interface pattern): Besteht aus einem Adapter, der gleichzeitig als eine neue Schnittstelle für mehrere Klassen verwendet wird.
* Aggregat: Ist eine Version des Kompositum, die zusätzlich Methoden zur Gruppierung von abgeleiteten Klassen, sprich Nachkommen zur Verfügung stellt
* Die Brücke: Entkoppelt eine Abstraktion und deren Implementation, sodass beide sich unabhängig voneinander weiterentwickeln können
   * Grabstein: Ein „Nachschlagsobjekt“, das den richtigen Ort des Objekts kennt.
* Dekorierer: Ermöglicht der Klasse zusätzliche Funktionalität während der Laufzeit hinzuzufügen, wobei durch Ableiten die Klassenanzahl exponentiell ansteigt.
* Erweiterbarkeit: eine Art von Framework, das komplexen Code hinter einer vereinfachten Schnittstelle verbirgt
* Fassade: Erzeugt eine vereinfachte Schnittstelle einer anderen Schnittstelle, um die Benutzung letzterer zu vereinfachen.
* Fliegengewicht: Bei diesem Muster teilen sich eine große Anzahl von Objekten ein Objekt der allgemeinen Eigenschaften, um Sicherungsspeicher einzusparen
* Kompositum: Eine Baumstruktur von Objekten, in der jedes Objekt dieselbe Schnittstelle verwendet.
* Pipes und Filter: Ist eine Prozesskette, in der die Ausgabe von jedem Prozess die Eingabe des nächsten Prozesses ist.
* Privatklassendaten (engl. private class data pattern): Schränkt den Zugriff des Accessor/Mutator ein.
* Stellvertreter: Hier fungiert eine Klasse als eine Schnittstelle für etwas anderes.
