Heim  >  Artikel  >  Java  >  Gängige Entwurfsmuster in Java

Gängige Entwurfsmuster in Java

伊谢尔伦
伊谢尔伦Original
2016-12-05 13:44:021142Durchsuche

Java verfügt über insgesamt 23 gängige Designmuster. Sie können hauptsächlich in drei Kategorien unterteilt werden: Schöpfungstyp, Strukturtyp und Verhaltenstyp.
Zu den kreativen Entwurfsmustern gehören:

1. Singleton, Singleton-Modus: Stellt sicher, dass eine Klasse nur eine Instanz hat und stellt einen eindeutigen globalen Zugriffspunkt bereit.

2. Abstract Factory: Bietet eine Schnittstelle zum Erstellen einer Reihe verwandter oder voneinander abhängiger Objekte, ohne deren konkrete Klassen anzugeben.

3. Factory-Methode: Definieren Sie eine Schnittstelle zum Erstellen von Objekten. Die Factory-Methode verzögert die Instanziierung einer Klasse in eine Unterklasse.

4. Builder, Konstruktionsmodus: trennt die Konstruktion und Darstellung einer komplexen Klasse, sodass Klassen mit demselben Konstruktionsprozess unterschiedliche Darstellungen haben können.

5. Prototyp, Prototypmodus: Verwenden Sie Prototypinstanzen, um den Typ der zu erstellenden Objekte anzugeben, und erstellen Sie neue Objekte durch Kopieren des Prototyps.

Verhaltensentwurfsmuster umfassen:

6. Itrator, Iteratormuster: Stellt eine Methode zum sequentiellen Durchlaufen der internen Elemente eines Aggregatobjekts bereit, ohne die interne Darstellung des Objekts offenzulegen.

7. Beobachter, Beobachtermuster: Definieren Sie eine Eins-zu-Viele-Beziehung zwischen Objekten. Wenn sich ein Objekt ändert, werden die davon abhängigen Objekte benachrichtigt und entsprechend aktualisiert.

8. Vorlagenmethode: Definieren Sie das Grundgerüst des Algorithmus in einer Operation und verschieben Sie einige Schritte auf Unterklassen. Mit der Vorlagenmethode können Unterklassen bestimmte Aspekte des Algorithmus ändern, ohne das Grundgerüst des Algorithmus zu ändern.

9. Befehl, Befehlsmodus: Kapseln Sie eine Anforderung als Objekt, sodass Sie Benutzer mit unterschiedlichen Anforderungen parametrisieren, Anforderungen in die Warteschlange stellen und Anforderungsprotokolle aufzeichnen sowie umkehrbare Vorgänge unterstützen können.

10. Status, Statusmodus: Ermöglicht einem Objekt, sein Verhalten zu ändern, wenn sich sein Status ändert. Das Objekt sieht aus, als hätte es seine Klasse geändert.

11. Strategie, Strategiemuster: Definieren Sie eine Reihe von Algorithmen und kapseln Sie sie einzeln, damit sie untereinander ersetzt werden können. Dieses Muster kann den Algorithmus unabhängig von den Kunden machen, die ihn verwenden.

12. China der Verantwortung, Chain-of-Responsibility-Modell: Geben Sie mehreren Objekten die Möglichkeit, Anfragen zu verarbeiten und vermeiden Sie die Kopplungsbeziehung zwischen dem Anforderer und dem Verarbeiter.

13. Mediator, Mediationsmodus: Verwenden Sie ein Mediatorobjekt, um die Interaktion einiger Objekte zu kapseln.

14. Besucher, Besuchermodus: stellt eine Operation dar, die auf jedes Element in einer Objektstruktur wirkt. Es ermöglicht Ihnen, neue Operationen zu definieren, die auf dieses Element wirken, ohne die Klasse jedes Elements zu ändern.

15. Dolmetscher, Dolmetschermodus: Definieren Sie bei einer gegebenen Sprache eine Darstellung ihrer Grammatik und definieren Sie einen Dolmetscher, der die Darstellung zur Interpretation von Sätzen in der Sprache verwendet.

16. Memento, Memo-Modus: Erfassen Sie den internen Zustand des Objekts, ohne das Objekt zu zerstören, und speichern Sie diesen Zustand außerhalb des Objekts.

Strukturelle Entwurfsmuster umfassen:

17. Zusammengesetzter Kombinationsmodus: Kombinieren Sie Objekte in einer Baumstruktur, um die Beziehung zwischen Teilen und dem Ganzen darzustellen, sodass Benutzer die Beziehung zwischen einzelnen Objekten und verstehen können kombinierte Objekte. Konsequent verwenden.

18. Fassade, Darstellungsmodus: Bietet eine konsistente Schnittstelle für eine Reihe von Strukturen in einem Subsystem, die die Verwendung des Systems erleichtert.

19. Proxy, Proxy-Modus: Stellen Sie einen Proxy für andere Objekte bereit, um den Zugriff auf dieses Objekt zu steuern.

20. Adapter, Adaptermodus: Konvertieren Sie einen Schnittstellentyp in einen Schnittstellentyp, den der Benutzer wünscht. Der Adapter ermöglicht die Zusammenarbeit von Klassen, die aufgrund inkompatibler Schnittstellen nicht zusammenarbeiten können.

21. Decorator, Dekorationsmodus: Fügen Sie dem Objekt dynamisch einige zusätzliche Verantwortlichkeiten hinzu. In Bezug auf hinzugefügte Funktionen ist Decorator flexibler als seine Methode zum Generieren von Unterklassen.

22. Bridge, Bridge-Modus: Trennt den abstrakten Teil von seinem Implementierungsteil, sodass sie sich unabhängig voneinander ändern können.

23. Fliegengewicht, Fliegengewichtsmodus: Es werden gemeinsam genutzte Objekte verwendet, um den Speicherverbrauch so weit wie möglich zu reduzieren und Informationen mit möglichst vielen ähnlichen Objekten zu teilen.


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn