Heim > Java > JavaErste Schritte > Der Unterschied zwischen abstraktem Fabrikmuster und Fabrikmethodenmuster in Java

Der Unterschied zwischen abstraktem Fabrikmuster und Fabrikmethodenmuster in Java

王林
Freigeben: 2019-11-15 16:01:32
Original
11539 Leute haben es durchsucht

Der Unterschied zwischen abstraktem Fabrikmuster und Fabrikmethodenmuster in Java

1. Einfaches Fabrikmodell

Eigenschaften:

1 , abstrakte Klasse ohne Schnittstelle. Es gibt eine wichtige Methode create(), die if oder switch verwendet, um ein Produkt zu erstellen und zurückzugeben.

2. Die Methode create() ist normalerweise statisch und wird daher auch als statische Factory bezeichnet.

Nachteile:

1. Schlechte Skalierbarkeit (Ich möchte eine Art Nudeln hinzufügen. Zusätzlich zum Hinzufügen einer neuen Nudelproduktklasse muss ich auch die ändern Factory-Klassenmethode).

2. Es wird nicht unterstützt, wenn verschiedene Produkte unterschiedliche zusätzliche Parameter erfordern.

2. Factory-Methodenmuster

Musterbeschreibung:

Bietet eine Schnittstelle zum Erstellen von Objekten (Factory-Schnittstelle). Ihre Implementierungsklasse (Factory-Implementierungsklasse) entscheidet, welche Klasse (Produktklasse) instanziiert werden soll, und die Implementierungsklasse erstellt Instanzen der entsprechenden Klasse.

ModellFormularelemente:

Stellen Sie eine Produktklassenschnittstelle bereit. Alle Produktklassen müssen diese Schnittstelle implementieren (es kann auch eine abstrakte Klasse, also ein abstraktes Produkt) sein.

Stellt eine Factory-Klassenschnittstelle bereit. Alle Factory-Klassen müssen diese Schnittstelle implementieren (d. h. abstrakte Factory).

Instanzen der Produktklasse werden von der Factory-Implementierungsklasse erstellt. Die Factory-Implementierungsklasse sollte über eine Methode zum Instanziieren der Produktklasse verfügen.

3. Abstraktes Fabrikmuster

Modusbeschreibung:

besteht darin, eine Gruppe von zu erstellen verwandte oder voneinander abhängige Objekte stellen eine Schnittstelle bereit, ohne ihre konkreten Klassen anzugeben.

4. Unterschiede

Das abstrakte Factory-Muster ist eine aktualisierte Version des Factory-Methodenmusters. Es wird verwendet, um eine Reihe verwandter oder voneinander abhängiger Objekte zu erstellen.

Der Unterschied zum Factory-Methodenmuster besteht darin, dass das Factory-Methodenmuster auf eine hierarchische Produktstruktur abzielt, während das abstrakte Factory-Muster auf mehrere hierarchische Produktstrukturen abzielt.

Bei der Programmierung wird eine Produktstruktur normalerweise durch eine Schnittstelle oder abstrakte Klasse dargestellt. Das heißt, alle vom Factory-Methodenmuster bereitgestellten Produkte werden von derselben Schnittstelle oder abstrakten Klasse und dem abstrakten Factory-Muster abgeleitet Die bereitgestellten Produkte sind von verschiedenen Schnittstellen oder abstrakten Klassen abgeleitet.

Im abstrakten Fabrikmuster gibt es ein Konzept der Produktfamilie: Die sogenannte Produktfamilie bezieht sich auf eine Familie funktional verwandter Produkte, die sich in unterschiedlichen Produkthierarchiestrukturen befinden. Die durch das abstrakte Fabrikmuster bereitgestellten Produktreihen bilden eine Produktfamilie, während die durch die Fabrikmethode bereitgestellten Produktreihen als hierarchische Struktur bezeichnet werden.

Empfohlenes Tutorial: Java-Tutorial

Das obige ist der detaillierte Inhalt vonDer Unterschied zwischen abstraktem Fabrikmuster und Fabrikmethodenmuster in Java. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage