Es gibt drei Arten von Java-Factory-Mustern: einfache Factory-Muster, Factory-Methodenmuster und abstrakte Factory-Muster.
Simple Factory Pattern ist ein innovatives Klassenmuster, auch Static FactoryMethod Pattern genannt. Es wird durch die spezifische Definition einer Klasse erstellt, die für die Erstellung von Instanzen anderer Klassen verantwortlich ist.
Das einfache Fabrikmuster verwendet eine „omnipotente Klasse“, um auf der Grundlage der von der Außenwelt übermittelten Informationen zu entscheiden, welche spezifische Klasse von Objekten erstellt werden soll. Wie unten gezeigt, verwendet
eine einfache Factory-Klasse, um das entsprechende Produktobjekt basierend auf dem Namen zu erstellen.
Das einfache Fabrikmuster verstößt ernsthaft gegen das „Öffnungs- und Schließprinzip“ und ist schwer zu erweitern, wodurch das Fabrikmethodenmuster entsteht.
Factory-Methodenmuster (FACTORY METHOD) abstrahiert das einfache Factory-Muster, entspricht dem „Öffnungs- und Schließprinzip“ und erreicht Skalierbarkeit.
Die Bedeutung des Factory-Methodenmusters besteht darin, eine Factory-Schnittstelle zu definieren, die Produktobjekte erstellt und die eigentliche Erstellungsarbeit auf Unterklassen verlagert. 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.
Verwendungsszenarien für Fabrikmethodenmuster:
Zum Beispiel eine Gießerei, die Mobiltelefone zusammenbaut. Besorgen Sie sich Zubehör wie Gehäuse, Bildschirm, Hauptplatine, Tasten und Batterien für den Zusammenbau von der Rohstofffabrik für Mobiltelefone. Die Mobiltelefon-Montagefabrik ist nur für die Montage von Mobiltelefonen verantwortlich, nicht für die Produktion von Zubehör. Es muss sich nicht darum kümmern, ob sich das Zubehör, das aus der Mobiltelefon-Rohstofffabrik kommt, geändert hat, solange die Schnittstellen die verschiedenen verbinden Konfigurationen des Mobiltelefons bleiben unverändert. Beispielsweise wurde der Bildschirm der Rohstofffabrik von TFT auf UFB-Display umgestellt. Für die Gießerei, die Mobiltelefone zusammenbaut, muss die Montage nur fortgesetzt werden, solange die Schnittstelle unverändert bleibt.
Wie unten gezeigt, erstellen Sie zunächst eine Rohstofffabrik-Schnittstelle. Die Rohstofffabrik-Schnittstelle definiert die Methoden zum Erstellen des Gehäuses, des Bildschirms, des Motherboards und des Akkus.
Die Rohstofffabrik für LB-Mobiltelefone ist für die Bereitstellung des für LB-Mobiltelefone benötigten Zubehörs verantwortlich, darunter Batterien, TFT-Displays, Motherboards und Ledergehäuse.
Das Folgende ist die Schnittstelle der Mobiltelefon-Montagefabrik. Die Montagefabrik ist nur für die Beschaffung von Zubehör aus der Rohstofffabrik und deren Zusammenbau in neue Mobiltelefone verantwortlich ist für nichts anderes verantwortlich.
Die LB-Montagefabrik für Mobiltelefone ist für die Montage des von der LB-Rohstofffabrik bereitgestellten Zubehörs verantwortlich. Selbstverständlich übernehme ich ab und zu auch private Arbeiten und baue Handys anderer Handyhersteller zusammen.
Der Verkauf von LB-Mobiltelefonen erfreut sich großer Beliebtheit und es gibt im ganzen Land Montagewerke. Eines Tages musste der Bildschirm von LBs Mobiltelefon plötzlich von einem TFT-Display auf ein UFT-Display umgestellt werden. Eine einzige Bewegung wirkt sich auf den gesamten Körper aus und die Vorteile des Fabrikmethodenmodells kommen zu diesem Zeitpunkt zum Ausdruck. Unabhängig davon, wie sich die Konfiguration des LB-Mobiltelefons ändert, bleibt die Schnittstelle createDisplay () für die Montagefabrik unverändert. Dazu ist lediglich erforderlich, dass der Bildschirm der Rohstofffabrik vom TFT-Bildschirm auf den UFT-Bildschirm umgestellt wird.
Der Vorteil des Factory-Musters besteht darin, dass es dem Benutzer nur die erstellte Produktschnittstelle bereitstellen muss, unabhängig davon, wie sich der Produkttyp ändert, solange sich die Funktion des auf der Schnittstelle erstellten Produkts nicht ändert Wenn sich die Änderung ändert, muss der Benutzer keine Änderungen vornehmen.
Viele Einführungen in das Factory-Methodenmuster führen die Verwendung des Factory-Musters auf, ohne konkret anzugeben, wann es verwendet werden soll. Als ich es zum ersten Mal las, hatte ich das Gefühl, dass das Factory-Methodenmuster überflüssig war und die Komplexität erhöhte. Später wurde ich nach und nach mit der Nützlichkeit des Factory-Methodenmusters vertraut und las „Head First Design Patterns“ noch einmal, um es zu festigen. Ich habe eine Szene simuliert und sie theoretisch aufgezeichnet, in der Hoffnung, das Verständnis zu festigen.
Weitere Artikel zum Java-Factory-Muster finden Sie auf der chinesischen PHP-Website!