Designmustersind fertige Lösungen für häufig auftretende Programmieraufgaben. Es handelt sich nicht um eine Klasse oder Bibliothek, die mit einem Projekt verbunden werden kann. Es ist etwas mehr. Für die jeweilige Aufgabenstellung geeignete Entwurfsmuster werden jeweils konkret umgesetzt. Sie sollten bedenken, dass ein Entwurfsmuster bei falscher Anwendung oder für eine ungeeignete Aufgabe viele Probleme verursachen kann. Ein richtig angewendetes Muster kann Ihnen jedoch dabei helfen, Aufgaben einfach und unkompliziert zu erledigen.
Arten von Mustern:
- schöpferisch
- strukturell
- Verhalten
Kreativ:
-
Singleton – beschränkt die Erstellung einer Klasse auf eine einzelne Instanz und bietet Zugriff auf diese einzelne Instanz.
-
Factory – wird verwendet, wenn wir eine Oberklasse mit mehreren Unterklassen haben und eine Unterklasse basierend auf der Eingabe zurückgeben müssen.
-
Abstrakte Fabrik – nutzt eine Superfabrik, um Fabriken zu erstellen, die wir dann zum Erstellen von Objekten verwenden.
-
Builder – wird zum Erstellen komplexer Objekte aus einfachen Objekten verwendet. Aus einem kleinen, einfachen Objekt entsteht nach und nach ein großes Objekt.
-
Prototyp – hilft, die Leistung beim Erstellen doppelter Objekte zu verbessern; Anstatt ein neues Objekt zu erstellen, wird ein Klon eines vorhandenen Objekts erstellt und zurückgegeben.
Strukturell:
-
Adapter – ein Konverter zwischen zwei inkompatiblen Objekten. Mit dem Adaptermuster können wir zwei inkompatible Schnittstellen kombinieren.
-
Zusammengesetzt – verwendet eine Klasse zur Darstellung einer Baumstruktur.
-
Proxy – stellt die Funktionalität einer anderen Klasse bereit.
-
Fliegengewicht – verwendet Objekte wieder, anstatt eine große Anzahl ähnlicher Objekte zu erstellen.
-
Facade – stellt eine einfache Schnittstelle für einen Client bereit, der die Schnittstelle zur Interaktion mit dem System verwendet.
-
Bridge – macht bestimmte Klassen unabhängig von Klassen, die eine Schnittstelle implementieren.
-
Decorator – fügt einem vorhandenen Objekt neue Funktionalität hinzu, ohne sich an dessen Struktur zu binden.
Verhalten:
-
Vorlagenmethode – definiert einen grundlegenden Algorithmus und ermöglicht Nachkommen, einige Schritte des Algorithmus zu überschreiben, ohne seine Gesamtstruktur zu ändern.
-
Mediator – stellt eine Zwischenklasse bereit, die die gesamte Kommunikation zwischen verschiedenen Klassen abwickelt.
-
Verantwortungskette – ermöglicht es, eine strikte Abhängigkeit zwischen Absender und Empfänger einer Anfrage zu vermeiden; zudem kann die Anfrage von mehreren Objekten bearbeitet werden.
-
Beobachter – ermöglicht einem Objekt die Überwachung und Reaktion auf Ereignisse, die in anderen Objekten auftreten.
-
Strategie – ermöglicht die Änderung von Strategien (Algorithmen) zur Laufzeit.
-
Befehl – eine Schnittstelle, die eine Methode zum Ausführen einer bestimmten Aktion deklariert.
-
Status: Ermöglicht einem Objekt, sein Verhalten abhängig von seinem Status zu ändern.
-
Besucher – wird verwendet, um Operationen an Gruppen verwandter Objekte zu vereinfachen.
-
Interpreter – definiert eine Grammatik für eine einfache Sprache in der Problemdomäne.
-
Iterator – greift sequentiell auf Elemente einer Sammlung zu, ohne deren zugrunde liegende Form zu kennen.
-
Memento – wird zum Speichern des Zustands eines Objekts verwendet; Dieser Zustand kann später wiederhergestellt werden.
|
Mehr Lektüre: |
|---|
GO TO FULL VERSION