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!