Sobes.tech
Middle

Welche Designmuster kennen Sie?

sobes.tech KI

Antwort von AI

Erzeugungsmuster:

  • Fabrikmethode (Factory Method): Definiert eine Schnittstelle zur Objekterstellung, lässt aber Unterklassen entscheiden, welche Klasse instanziiert wird.
  • Abstrakte Fabrik (Abstract Factory): Bietet eine Schnittstelle zur Erstellung von Familien verwandter oder abhängiger Objekte, ohne deren konkrete Klassen zu nennen.
  • Builder (Builder): Trennt die Konstruktion eines komplexen Objekts von seiner Darstellung, sodass dieselbe Konstruktionsprozesses verschiedene Darstellungen erzeugen kann.
  • Prototyp (Prototype): Erstellt neue Objekte durch Kopieren eines bestehenden Exemplar.
  • Singleton (Singleton): Garantiert, dass eine Klasse nur eine Instanz hat, und bietet einen globalen Zugriffspunkt darauf.

Strukturelle Muster:

  • Adapter (Adapter): Wandelt die Schnittstelle einer Klasse in eine andere um, die die Clients erwarten.
  • Brücke (Bridge): Trennt eine Abstraktion von ihrer Implementierung, sodass beide unabhängig voneinander variiert werden können.
  • Kompositum (Composite): Stellt Objekte in Baumstrukturen zusammen, um Hierarchien Teil-Ganzes zu repräsentieren. Ermöglicht es, einzelne Objekte und deren Kompositionen einheitlich zu behandeln.
  • Dekorateur (Decorator): Fügt einem Objekt dynamisch zusätzliche Verantwortlichkeiten hinzu. Ist eine flexible Alternative zur Unterklassifizierung zur Erweiterung der Funktionalität.
  • Fassade (Facade): Bietet eine einheitliche Schnittstelle zu einer Menge von Schnittstellen eines Subsystems. Definiert eine höhere Abstraktion, die das Subsystem einfacher nutzbar macht.
  • Flyweight (Flyweight): Wird verwendet, um eine große Anzahl ähnlicher Objekte effizient zu teilen.
  • Proxy (Proxy): Bietet ein Stellvertreterobjekt, das den Zugriff auf ein anderes Objekt kontrolliert.

Verhaltensmuster:

  • Kette der Verantwortung (Chain of Responsibility): Ermöglicht das Weiterreichen von Anfragen entlang einer Kette von Handlern. Jeder Handler entscheidet, ob er die Anfrage bearbeitet oder an den nächsten weitergibt.
  • Befehl (Command): Kapselt eine Anfrage als Objekt, um Clients mit verschiedenen Anfragen zu parametrisieren, Anfragen in eine Warteschlange zu stellen oder zu protokollieren sowie Undo-Operationen zu unterstützen.
  • Iterator (Iterator): Bietet eine Möglichkeit, sequentiell auf die Elemente eines aggregierten Objekts zuzugreifen, ohne seine interne Repräsentation offenzulegen.
  • Mediator (Mediator): Definiert ein Objekt, das die Interaktion einer Gruppe von Objekten kapselt. Fördert lose Kopplung, indem es explizite Referenzen zwischen Objekten vermeidet.
  • Memento (Memento): Erfängt und externalisiert den internen Zustand eines Objekts, ohne seine Kapselung zu verletzen, sodass das Objekt später in diesen Zustand zurückversetzt werden kann.
  • Beobachter (Observer): Definiert eine "1 zu viele"-Abhängigkeit zwischen Objekten, so dass bei einer Zustandsänderung alle Abhängigen automatisch benachrichtigt und aktualisiert werden.
  • Zustand (State): Ermöglicht es einem Objekt, sein Verhalten zu ändern, wenn sich sein interner Zustand ändert. Das Objekt scheint seine Klasse zu wechseln.
  • Strategie (Strategy): Definiert eine Familie von Algorithmen, kapselt jeden und macht sie austauschbar. Ermöglicht es, den Algorithmus unabhängig von den Clients, die ihn verwenden, zu variieren.
  • Template-Methode (Template Method): Definiert den Algorithmus-Skelett in einer Operation, wobei einige Schritte an Unterklassen delegiert werden. Erlaubt es Unterklassen, bestimmte Schritte des Algorithmus neu zu definieren, ohne seine Struktur zu ändern.
  • Besucher (Visitor): Repräsentiert eine Operation, die auf den Elementen einer Objektstruktur ausgeführt werden soll. Ermöglicht es, eine neue Operation zu definieren, ohne die Klassen der Elemente zu ändern, auf die sie wirkt.