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[1]

  • 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.[2]
    • Nachrüstungsschnittstellenmuster (engl. retrofit interface pattern)[3][4]: 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.[5]
  • 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.

Siehe auch

Weblinks

Commons: Strukturmuster – Sammlung von Bildern, Videos und Audiodateien

Einzelnachweise

  1. Erich Gamma, Richard Helm, Ralph E. Johnson, John Vlissides: Structural Patterns. In: GofPatterns. 30. November 2020, abgerufen am 30. November 2020 (englisch).
  2. Adapter Pipeline. Cunningham & Cunningham, Inc., 31. Dezember 2010, abgerufen am 20. Juli 2012 (englisch).
  3. Bobby Woolf: Retrofit Interface Pattern. Cunningham & Cunningham, Inc., 19. Juni 2002, abgerufen am 20. Juli 2012 (englisch).
  4. Martin Zarate: External Polymorphism. Cunningham & Cunningham, Inc., 31. Dezember 2010, abgerufen am 20. Juli 2012 (englisch).
  5. Tomb Stone. Cunningham & Cunningham, Inc., 17. Juni 2007, abgerufen am 20. Juli 2012 (englisch).