Entwurfsmuster in Java helfen Entwicklern, wartbareren, flexibleren und verständlicheren Code zu erstellen. Sie bündeln das Fachwissen und die Erfahrung erfahrener Softwarearchitekten und -entwickler und erleichtern es neuen Programmierern, etablierte Best Practices zu befolgen.
Was sind Designmuster?
Ein Entwurfsmuster ist eine generische wiederholbare Lösung für ein häufig auftretendes Problem beim Softwaredesign, das in der Softwareentwicklung verwendet wird. Es handelt sich nicht um ein vollständiges Design, das sofort in Code geschrieben werden kann. Es handelt sich um eine Beschreibung oder ein Modell zur Problemlösung, das in verschiedenen Kontexten angewendet werden kann.
Tutorial zu Java-Designmustern
- Was sind Designmuster?
- Arten von Entwurfsmustern in Java
- 1. Kreative Designmuster in Java
- 2. Strukturelle Entwurfsmuster in Java
- 3. Verhaltensdesignmuster in Java
Arten von Entwurfsmustern in Java
Java-Entwurfsmuster sind in drei Kategorien unterteilt:
- schöpferisch,
- strukturell und
- Verhaltensdesignmuster.
1. Kreative Designmuster in Java
Creational Design Patterns sind eine Teilmenge der Design Patterns in der Softwareentwicklung. Sie befassen sich mit dem Prozess der Objekterstellung und versuchen, ihn flexibler und effizienter zu gestalten. Es macht das System unabhängig und wie seine Objekte erstellt, zusammengesetzt und dargestellt werden.
Arten von kreativen Designmustern in Java:
1.1 Fabrikmethode
Die Factory-Methode ist ein kreatives Entwurfsmuster, das eine Schnittstelle bereitstellt zum Erstellen von Objekten in der Oberklasse, aber Unterklassen sind für die Erstellung der Instanz der Klasse verantwortlich.
1.2 Abstrakte Fabrikmethode
Die Abstract Factory-Methode ist ein kreatives Entwurfsmuster. Sie bietet eine Schnittstelle zum Erstellen von Familien verwandter oder abhängiger Objekte, ohne deren konkrete Klassen anzugeben.
1.3 Builder-Methode
Die Builder-Methode ist ein kreatives Entwurfsmuster. Sie stellt eine Schnittstelle zum Konstruieren eines Objekts bereit und verfügt dann über konkrete Builder-Klassen, die diese Schnittstelle implementieren, um bestimmte Objekte schrittweise zu erstellen.
1.4 Prototypenmethode
Die Prototype-Methode ist ein kreatives Entwurfsmuster, mit dem neue Objekte mit der gleichen Struktur und dem gleichen Ausgangszustand wie ein vorhandenes Objekt erstellt werden können, ohne dass ihre Klasse oder Konstruktionsdetails explizit angegeben werden.
1.5 Singleton-Methode
Die Singleton-Methode ist ein kreatives Entwurfsmuster, das sie bereitstellt Eine Klasse hat nur eine Instanz, und diese Instanz bietet einen globalen Zugriffspunkt darauf.
2. Strukturelle Entwurfsmuster in Java
Strukturelle Entwurfsmuster sind eine Teilmenge von Entwurfsmustern in der Softwareentwicklung, die sich auf die Zusammensetzung von Klassen oder Objekten zu größeren, komplexeren Strukturen konzentrieren. Sie helfen bei der Organisation und Verwaltung von Beziehungen zwischen Objekten, um eine größere Flexibilität, Wiederverwendbarkeit und Wartbarkeit in einem Softwaresystem zu erreichen.
Arten von strukturellen Entwurfsmustern in Java:
2.1 Adaptermethode
Die Adaptermethode ist ein strukturelles Entwurfsmuster, mit dem Sie zwei inkompatible Schnittstellen zusammenarbeiten lassen können, indem Sie eine Brücke zwischen ihnen erstellen.
2.2 Bridge-Methode
Die Brückenmethode ist ein strukturelles Entwurfsmuster, das zum Entwerfen dient Trennen Sie die Abstraktion eines Objekts von seiner Implementierung, sodass beide unabhängig voneinander variieren können.
23 Verbundmethode
Die zusammengesetzte Methode ist ein strukturelles Entwurfsmuster. Sie wird verwendet, um Objekte in Baumstrukturen zusammenzusetzen, um Teil-Ganze-Hierarchien darzustellen. Dieses Muster behandelt sowohl einzelne Objekte als auch Objektkompositionen und ermöglicht es Kunden, mit komplexen Objektstrukturen zu arbeiten, als wären sie einzelne Objekte.
2.4 Decorator-Methode
Die Decorator-Methode ist ein strukturelles Designmuster. ich t ermöglicht das statische oder dynamische Hinzufügen von Verhalten zu einzelnen Objekten, ohne das Verhalten anderer Objekte derselben Klasse zu beeinflussen.
2.5 Fassadenmethode
Bei der Fassadenmethode handelt es sich um ein strukturelles Entwurfsmuster. Sie bietet eine vereinfachte Schnittstelle auf höherer Ebene zu einer Reihe von Schnittstellen in einem Subsystem und erleichtert so den Clients die Interaktion mit diesem Subsystem.
2.6 Proxy-Methode
Die Proxy-Methode ist ein strukturelles Entwurfsmuster. Es dient dazu, einen Ersatz für ein Objekt zu schaffen, der als Vermittler fungieren oder den Zugriff auf das reale Objekt kontrollieren kann.
2.7 Fliegengewichtsmethode
Die Fliegengewichtsmethode ist ein strukturelles Entwurfsmuster. Es wird verwendet, wenn wir viele Objekte einer Klasse erstellen müssen. Da jedes Objekt Speicherplatz verbraucht, was für Geräte mit geringem Speicher von entscheidender Bedeutung sein kann, kann das Flyweight-Entwurfsmuster angewendet werden, um die Speicherbelastung durch die gemeinsame Nutzung von Objekten zu reduzieren.
3. Verhaltensdesignmuster in Java
Verhaltensdesignmuster sind eine Teilmenge von Designmustern in der Softwareentwicklung, die sich mit der Kommunikation und Interaktion zwischen Objekten und Klassen befassen. Sie konzentrieren sich darauf, wie Objekte und Klassen zusammenarbeiten und kommunizieren, um Aufgaben und Verantwortlichkeiten zu erfüllen.
Arten von Verhaltensentwurfsmustern in Java:
3.1 Befehlsmethode
Die Befehlsmethode ist ein Verhaltensentwurfsmuster. Sie fördert die lose Kopplung zwischen dem Sender (Client) und dem Empfänger (dem Objekt, das den Vorgang ausführt) und bietet eine Möglichkeit, rückgängig zu machende Vorgänge zu unterstützen.
3.2 Iterator-Methode
Die Iterator-Methode ist ein Verhaltensentwurfsmuster. ich t bietet eine Möglichkeit, nacheinander auf Elemente eines Aggregatobjekts (einer Sammlung) zuzugreifen, ohne die zugrunde liegende Darstellung dieser Sammlung offenzulegen.
3.3 Mediator-Methode
Die Mediator-Methode ist ein Verhaltensdesignmuster. ich t fördert die lose Kopplung zwischen Objekten, indem es ihre Kommunikation über ein Vermittlerobjekt zentralisiert. Anstatt dass Objekte direkt miteinander kommunizieren, kommunizieren sie über den Mediator, der die Interaktions- und Koordinationslogik kapselt.
3.4 Memento-Methode
Die Momento-Methode ist ein Verhaltensentwurfsmuster, mit dem der vorherige Zustand eines Objekts gespeichert und wiederhergestellt werden kann, ohne die Details seiner Implementierung preiszugeben.
Java-Wert der Zeichenfolge
3.5 Beobachtermethode
Die Beobachtermethode ist ein Verhaltensentwurfsmuster. Sie definiert eine Eins-zu-viele-Abhängigkeit zwischen Objekten, sodass alle abhängigen Objekte (Beobachter) automatisch benachrichtigt und aktualisiert werden, wenn ein Objekt (das Subjekt) seinen Zustand ändert.
3.6 Zustandsmethode
Die Zustandsmethode ist ein Verhaltensentwurfsmuster. Es ermöglicht einem Objekt, sein Verhalten zu ändern, wenn sich sein interner Zustand ändert.
3.7 Strategiemethode
Die Strategiemethode ist ein Verhaltensentwurfsmuster. Sie definiert eine Familie von Algorithmen, kapselt jeden einzelnen, macht sie austauschbar und ermöglicht es einem Client, zur Laufzeit einen geeigneten Algorithmus aus einer Familie von Algorithmen auszuwählen.
3.8 Vorlagenmethode
Die Vorlagenmethode ist ein Verhaltensentwurfsmuster. Sie definiert das Grundgerüst eines Algorithmus in einer Methode, ermöglicht es Unterklassen jedoch, einige Schritte dieses Algorithmus zu ändern, ohne seine Struktur zu ändern.
3.9 Besuchermethode
Die Besuchermethode ist ein Verhaltensentwurfsmuster. Sie wird verwendet, wenn Sie über eine Reihe strukturierter, hierarchischer Objekte verfügen und verschiedene Operationen an diesen Objekten ausführen möchten, ohne deren Klassen zu ändern.
3.10 Null-Objekt-Methode
Die Nullobjektmethode ist ein Verhaltensentwurfsmuster, das verwendet wird um das Fehlen eines gültigen Objekts zu behandeln, indem ein Objekt bereitgestellt wird, das nichts tut oder Standardverhalten bereitstellt.
Andere Referenzen:
- Die 30 besten Interviewfragen zu Java Design Patterns
- Die 10 besten Bücher über Java-Designmuster
- Designmuster: Eine unverzichtbare Fähigkeit für Softwareentwickler im Jahr 2019
- Designmuster: Verstehen Sie die Bedeutung anhand von Beispielen aus der Praxis
- Designmuster: Entwerfen Sie ein Kinokarten-Buchungssystem wie Bookmyshow
- Designmuster: Wie entwirft man einen Parkplatz nach objektorientierten Prinzipien?