Was ist der Unterschied zwischen Fabrikmuster und abstraktem Fabrikmuster? - Unterschied Zwischen

Was ist der Unterschied zwischen Fabrikmuster und abstraktem Fabrikmuster?

Das Hauptunterschied zwischen Fabrikmuster und abstraktem Fabrikmuster ist das Factory Pattern bietet eine Methode zum Erstellen von Objekten, ohne die genaue Klasse anzugeben, in der es erstellt wurde, während das abstrakte Factory-Muster eine Methode zum Kombinieren einer Gruppe einzelner Fabriken ohne Angabe ihrer konkreten Klassen bietet.

Entwurfsmuster sind die Lösungen für allgemeine Probleme, denen Softwareentwickler bei der Entwicklung von Software gegenüberstehen. Sie sind generisch und hängen nicht vom Systemtyp oder der Programmiersprache ab. Darüber hinaus sind sie bewährte Lösungen und liefern Best Practices. Es gibt drei Arten von Entwurfsmustern: Kreation, Struktur und Verhalten. Erzeugungsmuster bieten eine Methode zum Erstellen von Objekten, während die Erzeugungslogik ausgeblendet wird. Darüber hinaus machen sie das Programm flexibler. Fabrikmuster und abstraktes Fabrikmuster sind zwei solcher kreativen Designmuster.

Wichtige Bereiche

1. Was ist das Fabrikmuster?
- Definition, Funktionalität
2. Was ist abstraktes Fabrikmuster?
- Definition, Funktionalität
3. Was ist der Unterschied zwischen Fabrikmuster und abstraktem Fabrikmuster?
- Vergleich der wichtigsten Unterschiede

Schlüsselbegriffe

Abstraktes Fabrikmuster, Fabrikmuster


Was ist Fabrik Muster

Ein Fabrikmuster bietet eine gute Methode zum Erstellen von Objekten. Mit dieser Methode kann der Programmierer Objekte erstellen, ohne die Erzeugungslogik freizulegen. Es ist auch möglich, das neu erstellte Objekt über eine gemeinsame Schnittstelle zu referenzieren. Siehe unter Programm.


Abbildung 1: Shape Interface


Abbildung 2: Rechteckklasse


Abbildung 3: Quadratische Klasse


Abbildung 4: Kreisklasse


Abbildung 5: ShapeFactory-Klasse


Abbildung 6: Hauptklasse

Die Shape-Schnittstelle verfügt über eine abstrakte Methode, die als draw bezeichnet wird. Rechteck, Quadrat und Kreis sind Klassen. Sie implementieren Shape-Schnittstelle. Daher bieten diese Klassen eine Implementierung für die Methodenauslosung.Die Draw-Methode in jeder Klasse hat ihre eigene Implementierung. Die ShapeFacotry-Klasse hat eine Methode namens getShape. Es bekommt eine Schnur. Diese Methode gibt ein Objekt entsprechend der empfangenen Zeichenfolge zurück.

In der Hauptmethode gibt es ein Objekt namens Shape. Es ist vom Typ ShapeFactory. Die getShape-Methode wird mit diesem Objekt aufgerufen. Die Zeichenfolge "Rectangle" wird an sie übergeben. Das zurückkehrende Objekt wird in shape1 gespeichert, die vom Typ Shape ist. Ebenso werden die Zeichenfolgen "SQUARE" und "CIRCLE" an getShape übergeben. Die Rückkehrobjekte werden in shape2 und shape3 gespeichert. Jedes Objekt ruft die draw-Methode auf, und die entsprechende draw-Methode wird entsprechend der übergebenen Zeichenfolge ausgeführt.

Das Hauptprogramm verwendet die ShapeFactory-Klasse, um ein Shape-Objekt abzurufen. Es übergibt die erforderliche Zeichenfolge an ShapeFactory, um den Objekttyp abzurufen, den es benötigt.

Was ist abstraktes Fabrikmuster?

Abstract Factory Pattern verwendet eine Superfabrik und erstellt weitere Fabriken. Es ist auch bekannt als Fabrik der Fabriken. In diesem Muster erstellt eine Schnittstelle eine Factory aus verwandten Objekten, ohne deren Klassen explizit anzugeben. Mit anderen Worten, nachdem die Superfabrik erstellt wurde, können andere Fabriken erstellt werden. Siehe unter Programm.


Abbildung 7: Farbschnittstelle


Abbildung 8: Gelbe Klasse


Abbildung 9: Orange Klasse


Abbildung 10: Violette Klasse


Abbildung 11: AbstractFactory-Klasse


Abbildung 12: ShapeFactory-Klasse


Abbildung 13: ColorFactory-Klasse


Abbildung 14: FactoryProducer-Klasse


Abbildung 15: Hauptprogramm

Interface Shape und die Klassen Rechteck, Quadrat, Kreis sind dieselben wie im vorigen Abschnitt. Die Farbe ist eine Schnittstelle; es hat eine abstrakte Methode namens fill. Die Klassen Gelb, Orange und Lila implementieren diese Schnittstelle. Daher stellen diese Klassen eine Implementierung für die Füllmethode bereit. Die AbstrcatFactory-Klasse verfügt über zwei Methoden wie getShape und getColor. Die ShapeFactory-Klasse erweitert AbstractFacotry. In ähnlicher Weise erweitert die ColorFactory-Klasse AbstractFactory. Diese Klassen verfügen über Implementierungen für die Methoden getShape und getColor.

Die FactoryProducer-Klasse hat eine Methode namens getFactory, die ein Objekt vom Typ AbstractFactory zurückgibt. Es gibt ein ShapeFactory-Objekt oder ein ColorFactory-Objekt oder null zurück, abhängig von der Zeichenfolge, die abgerufen wird. Schließlich verwendet die Hauptmethode den FactoryProducer, um AbstractFactory dazu zu bringen, Fabriken konkreter Klassen zu erhalten.

Außerdem verwendet die Hauptmethode FactoryProducer, um ein AbstractFactory-Objekt abzurufen. Es übergibt Informationen wie "RECTANGLE", "SQUARE", "CIRCLE" an AbstractFactory, um den Objekttyp zu erhalten, den es benötigt. Außerdem werden Informationen wie "GELB", "ORANGLE" und "PURPLE" weitergeleitet, um den Objekttyp zu erhalten, den es benötigt.

Unterschied zwischen Fabrikmuster und abstraktem Fabrikmuster

Definition

Factory-Muster ist ein kreatives Muster, das eine Methode verwendet, um mit dem Problem der Erstellung von Objekten umzugehen, ohne die genaue Klasse des Objekts angeben zu müssen, das erstellt wird. Das abstrakte Fabrikmuster hingegen ist ein kreatives Muster, das eine Möglichkeit bietet, eine Gruppe einzelner Fabriken, die ein gemeinsames Thema haben, zu kapseln, ohne ihre konkreten Klassen anzugeben. Somit erklären diese Definitionen den Hauptunterschied zwischen Fabrikmuster und abstraktem Fabrikmuster.

Die Konstruktion verstecken

Ein weiterer Unterschied zwischen dem Fabrikmuster und dem abstrakten Fabrikmuster besteht darin, dass das Fabrikmuster die Konstruktion eines einzelnen Objekts verbirgt, während das abstrakte Fabrikmuster die Konstruktion einer Familie zusammengehöriger Objekte verbirgt.

Fazit

Factory Pattern und Abstract Factory Pattern sind zwei kreative Designmuster. Factory Pattern bietet eine Methode zum Erstellen von Objekten, ohne die genaue Klasse anzugeben, in der es erstellt wurde. Im Gegensatz dazu bietet das abstrakte Fabrikmuster eine Methode zum Kombinieren einer Gruppe einzelner Fabriken, ohne deren konkrete Klassen anzugeben. Daher ist dies der Hauptunterschied zwischen dem Fabrikmuster und dem abstrakten Fabrikmuster.

Referenz:

1. "Factory Method Design Pattern". Javatpoint,