Dies ist ein kurzer Artikel über Designmuster in Java. Es wird keine Implementierung von Mustern geben, es gibt lediglich eine Liste der in Java vorhandenen Muster und deren kurzen Inhalt. Es wird für diejenigen nützlich sein, die sich bereits mit dem Thema auskennen, um es zu wiederholen und zu verallgemeinern. Oder im Gegenteil, für diejenigen, die sich zum ersten Mal mit Mustern auseinandergesetzt haben – für den allerersten Überblick über das Thema, bevor sie tiefer in die Materie eintauchen. Entwurfsmuster (Entwurfsvorlagen) sind gebrauchsfertige Lösungen für häufig auftretende Programmierprobleme. Dabei handelt es sich nicht um eine Klasse oder Bibliothek, die mit einem Projekt verbunden werden kann, sondern um etwas mehr. Für die Aufgabenstellung geeignete Entwurfsmuster werden jeweils konkret umgesetzt. Man sollte bedenken, dass ein solches Muster, wenn es falsch oder auf das falsche Problem angewendet wird, viele Probleme verursachen kann. Ein richtig angewendetes Muster hilft jedoch dabei, das Problem einfach und unkompliziert zu lösen. Mustertypen :
- Erstellen
- strukturell
- Verhalten
- Singleton – begrenzt die Erstellung einer Instanz einer Klasse und bietet Zugriff auf ihr einziges Objekt.
- Factory – Wird verwendet, wenn wir eine Superklasse mit mehreren Unterklassen haben und basierend auf der Eingabe eine von der Unterklasse zurückgeben müssen.
- Abstrakte Fabrik – Verwenden Sie eine Superfabrik, um eine Fabrik zu erstellen, und verwenden Sie dann die erstellte Fabrik, um Objekte zu erstellen.
- Builder – wird zum Erstellen eines komplexen Objekts aus einfachen Objekten verwendet. Nach und nach entsteht aus einem kleinen und einfachen Objekt ein größeres Objekt.
- Prototyp – hilft dabei, ein Duplikat eines Objekts mit besserer Leistung zu erstellen. Anstelle eines neuen Objekts wird ein zurückgegebener Klon des vorhandenen Objekts erstellt.
- Ein Adapter ist ein Konverter zwischen zwei inkompatiblen Objekten. Mithilfe des Adaptermusters können wir zwei inkompatible Schnittstellen kombinieren.
- Zusammengesetzt – Verwendet eine einzelne Klasse zur Darstellung einer Baumstruktur.
- Proxy – Stellt die Funktionalität einer anderen Klasse dar.
- Fliegengewicht – Anstatt eine große Anzahl ähnlicher Objekte zu erstellen, werden Objekte wiederverwendet.
- Fassade – Stellt eine einfache Schnittstelle für den Client bereit, und der Client verwendet die Schnittstelle, um mit dem System zu interagieren.
- Bridge – macht konkrete Klassen unabhängig von Schnittstellenimplementierungsklassen.
- Dekorator – Fügt einem vorhandenen Objekt neue Funktionalität hinzu, ohne sich auf seine Struktur festzulegen.
- Vorlagenmethode – definiert die Basis des Algorithmus und ermöglicht Nachfolgern, einige Schritte des Algorithmus neu zu definieren, ohne seine Struktur als Ganzes zu ändern.
- Mediator – Stellt eine Mediatorklasse bereit, die die gesamte Kommunikation zwischen verschiedenen Klassen abwickelt.
- Verantwortungskette – ermöglicht es Ihnen, eine strikte Abhängigkeit des Absenders der Anfrage von ihrem Empfänger zu vermeiden, während die Anfrage von mehreren Objekten verarbeitet werden kann.
- Beobachter – ermöglicht einigen Objekten die Überwachung und Reaktion auf Ereignisse, die in anderen Objekten auftreten.
- Strategie – Der Strategiealgorithmus kann während der Programmausführung geändert werden.
- Befehl – Die Befehlsschnittstelle deklariert eine Methode zum Ausführen einer bestimmten Aktion.
- Zustand – Ein Objekt kann sein Verhalten abhängig von seinem Zustand ändern.
- Besucher – wird verwendet, um Operationen an Gruppierungen verwandter Objekte zu vereinfachen.
- Interpreter – Definiert eine einfache Sprachgrammatik für eine Problemdomäne.
- Iterator – greift sequentiell auf die Elemente eines Sammlungsobjekts zu, ohne die zugrunde liegende Darstellung zu kennen.
- Memento (Bewahrer) – wird zum Speichern des Zustands eines Objekts verwendet. Dieser Zustand kann später wiederhergestellt werden.
GO TO FULL VERSION