Heim >häufiges Problem >Was bedeutet abstraktes Fabrikmuster?

Was bedeutet abstraktes Fabrikmuster?

hzc
hzcOriginal
2020-06-29 15:55:532941Durchsuche

Das abstrakte Fabrikmuster besteht darin, andere Fabriken um eine Superfabrik herum zu erstellen, die auch als Fabrik anderer Fabriken bezeichnet wird. Diese Art von Designmuster ist ein Schöpfungsmuster, das die beste Möglichkeit bietet, Objekte zu erstellen .

Was bedeutet abstraktes Fabrikmuster?

Abstract Factory Pattern besteht darin, weitere Fabriken rund um eine Superfabrik zu errichten. Die Gigafactory wird auch als Fabrik der anderen Fabriken bezeichnet. Bei dieser Art von Entwurfsmuster handelt es sich um ein Erstellungsmuster, das eine optimale Möglichkeit zum Erstellen von Objekten bietet.

Im abstrakten Factory-Muster ist die Schnittstelle eine Factory, die für die Erstellung eines zugehörigen Objekts verantwortlich ist, ohne deren Klasse explizit anzugeben. Jede generierte Fabrik kann Objekte gemäß dem Fabrikmuster bereitstellen.

Einführung:

Absicht: Bereitstellung einer Schnittstelle zum Erstellen einer Reihe verwandter oder voneinander abhängiger Objekte ohne Angabe ihrer konkreten Klassen.

Hauptlösung: Hauptsächlich das Problem der Schnittstellenauswahl lösen.

Wann zu verwenden ist: Die Produkte des Systems haben mehr als eine Produktfamilie und das System verbraucht nur Produkte aus einer der Familien.

So lösen Sie: Definieren Sie mehrere Produkte in einer Produktfamilie.

Schlüsselcode: Fassen Sie mehrere ähnliche Produkte in einer Fabrik zusammen.

Anwendungsbeispiel: Um nach der Arbeit an einigen Partys teilnehmen zu können, müssen Sie zwei oder mehr Kleidungsstücke haben, z. B. Geschäftskleidung (komplette Sets, eine Reihe spezifischer Produkte), modische Kleidung (komplette Sets, eine Reihe spezifischer Produkte) ), auch für eine Familie kann es Business-Damenbekleidung, Business-Herrenbekleidung, modische Damenbekleidung, modische Herrenbekleidung geben, dabei handelt es sich auch um komplette Sets, also eine Reihe spezifischer Produkte. Nehmen Sie eine Situation an (die in der Realität nicht existiert, sonst gibt es keine Möglichkeit, in den Kommunismus einzutreten, aber es ist hilfreich, das abstrakte Fabrikmodell zu veranschaulichen. In Ihrem Zuhause kann ein bestimmter Kleiderschrank (Betonfabrik) nur eine bestimmte Art aufbewahren). Bei solchen Kleidungsstücken (Set, eine Reihe spezifischer Produkte) werden Sie jedes Mal, wenn Sie dieses Kleidungsstück in die Hand nehmen, es natürlich aus diesem Kleiderschrank nehmen. Verwenden Sie das OOP-Denken, um zu verstehen, dass alle Kleiderschränke (Betonfabriken) Kleiderschränke (abstrakte Fabriken) sind und dass jedes Kleidungsstück bestimmte Oberteile (ein bestimmtes Produkt) und Hosen (ein bestimmtes Produkt) enthält. Diese Betonoberteile sind tatsächlich Oberteile (ein bestimmtes Produkt). abstraktes Produkt), und die Betonhose ist auch Hose (ein weiteres abstraktes Produkt).

Vorteile: Wenn mehrere Objekte einer Produktfamilie für die Zusammenarbeit konzipiert sind, kann sichergestellt werden, dass der Kunde immer nur Objekte derselben Produktfamilie verwendet.

Nachteile: Die Erweiterung der Produktfamilie ist sehr schwierig. Um ein bestimmtes Produkt einer Serie hinzuzufügen, müssen Sie Code sowohl zum abstrakten als auch zum spezifischen Produkt hinzufügen.

Verwendungsszenarien: 1. Ändern Sie die Skins auf QQ und ändern Sie das gesamte Set zusammen. 2. Generieren Sie Programme für verschiedene Betriebssysteme.

Hinweis: Produktfamilien sind schwer zu erweitern, Produktebenen jedoch leicht zu erweitern.

Implementierung:

Wir werden Form- und Farbschnittstellen und Entitätsklassen erstellen, die diese Schnittstellen implementieren. Der nächste Schritt besteht darin, die abstrakte Factory-Klasse AbstractFactory zu erstellen. Definieren Sie dann die Factory-Klassen ShapeFactory und ColorFactory, die beide AbstractFactory erweitern. Erstellen Sie dann eine Fabrikersteller-/Generatorklasse FactoryProducer.

AbstractFactoryPatternDemo, unsere Demoklasse verwendet FactoryProducer, um AbstractFactory-Objekte abzurufen. Die Forminformationen Shape (CIRCLE / RECTANGLE / SQUARE) werden an die AbstractFactory übergeben, um den benötigten Objekttyp zu erhalten. Gleichzeitig werden auch die Farbinformationen Color (ROT/GRÜN/BLAU) an AbstractFactory übergeben, um den benötigten Objekttyp zu erhalten.

Was bedeutet abstraktes Fabrikmuster?

Das obige ist der detaillierte Inhalt vonWas bedeutet abstraktes Fabrikmuster?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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