Heim  >  Artikel  >  Was bedeutet Factory-Methodenmuster?

Was bedeutet Factory-Methodenmuster?

hzc
hzcOriginal
2020-06-29 16:05:422812Durchsuche

Factory-Methodenmuster ist ein häufig verwendetes Entwurfsmuster für die Klassenerstellung. Der Kerngedanke dieses Musters besteht darin, die sich ändernden Teile der Klasse zu kapseln, die personalisierten und veränderlichen Teile in unabhängige Klassen zu extrahieren und dies durch Abhängigkeitsinjektion zu erreichen Der Zweck besteht darin, die spätere Wartung und Erweiterung zu entkoppeln, wiederzuverwenden und zu erleichtern.

Was bedeutet Factory-Methodenmuster?

Mustereinführung:

Die Bedeutung des Fabrikmethodenmusters besteht darin, eine Fabrik zu definieren, die eine Produktobjektschnittstelle erstellt verschiebt die eigentliche Erstellung auf Unterklassen. Die Kern-Factory-Klasse ist nicht mehr für die Erstellung von Produkten verantwortlich. Auf diese Weise wird die Kernklasse zu einer abstrakten Factory-Rolle, die nur für die Schnittstellen verantwortlich ist, die bestimmte Factory-Unterklassen implementieren müssen ermöglicht den Betrieb des Systems, ohne die spezifische Fabrikrolle zu ändern. Einführung neuer Produkte.

Das Fabrikmethodenmuster ist eine Ableitung des einfachen Fabrikmusters und löst viele Probleme des einfachen Fabrikmusters. Erstens ist das „Open-Close-Prinzip“ vollständig umgesetzt und skalierbar. Zweitens können komplexere hierarchische Strukturen auf Situationen angewendet werden, in denen die Produktergebnisse komplex sind. [2]

Das Factory-Methodenmuster abstrahiert das einfache Factory-Muster. Es gibt eine abstrakte Factory-Klasse (kann eine abstrakte Klasse und eine Schnittstelle sein). Diese Klasse ist nicht mehr für die Produktion bestimmter Produkte verantwortlich, sondern formuliert nur einige Spezifikationen, und die spezifische Produktionsarbeit wird von ihren Unterklassen ausgeführt. In diesem Modell können Fabrikklassen und Produktklassen häufig nacheinander korrespondieren. Das heißt, eine abstrakte Fabrik entspricht einem abstrakten Produkt und eine konkrete Fabrik entspricht einem bestimmten Produkt. Diese bestimmte Fabrik ist für die Herstellung des entsprechenden Produkts verantwortlich.

Das Factory-Methodenmuster ist die typischste Anwendung des Template-Methodenmusters.

Rollenstruktur:

Abstract Factory (Ersteller)-Rolle: Sie ist der Kern des Factory-Methodenmusters und hat nichts mit der Anwendung zu tun. Jede Factory-Klasse für im Muster erstellte Objekte muss diese Schnittstelle implementieren.

Rolle „Concrete Factory“ (Concrete Creator): Dies ist eine konkrete Factory-Klasse, die die abstrakte Factory-Schnittstelle implementiert, eng mit der Anwendung verknüpfte Logik enthält und von der Anwendung aufgerufen wird, um Produktobjekte zu erstellen. Im Bild oben gibt es zwei solcher Rollen: BulbCreator und TubeCreator.

Abstrakte Produktrolle (Produktrolle): Der Supertyp des durch das Factory-Methodenmuster erstellten Objekts, dh die gemeinsame übergeordnete Klasse oder gemeinsame Schnittstelle des Produktobjekts. Im Bild oben ist dieser Charakter Light.

Konkrete Produktrolle: Diese Rolle implementiert die durch die abstrakte Produktrolle definierte Schnittstelle. Ein bestimmtes Produkt wird in einer bestimmten Fabrik hergestellt und es besteht häufig eine Eins-zu-eins-Entsprechung zwischen ihnen.

Musteranwendung:

Fabrikmethoden werden häufig in den folgenden zwei Situationen verwendet:

Die erste Situation gilt für ein bestimmtes Produkt. Der Anrufer weiß genau, welcher spezifische Fabrikservice genutzt werden soll, instanziiert die spezifische Fabrik und produziert bestimmte Produkte. Dies ist bei der iterator()-Methode in der Java Collection der Fall.

Im zweiten Fall benötigen Sie lediglich ein Produkt und möchten oder müssen nicht wissen, welche Fabrik es herstellt. Das heißt, die endgültige Entscheidung darüber, welche konkrete Fabrik Sie verwenden, liegt bei der Der Produzent basiert auf dem aktuellen System. Je nach Situation wird eine bestimmte Fabrik instanziiert und an den Benutzer zurückgegeben. Dieser Entscheidungsprozess ist für den Benutzer transparent.

Das obige ist der detaillierte Inhalt vonWas bedeutet Factory-Methodenmuster?. 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