In objektorientierter Programmierungsprogrammierung ist unser häufigste Betrieb ein neues Objekt. Bei der Erstellung eines neuen Objekts werden jedoch einige Probleme vorliegen, z. Das Auftreten von Fabrikmustern und abstrakten Fabrikmustern löst dieses Problem perfekt und ermöglicht es uns, sich nicht mehr um Objekterstellung zu kümmern, sondern sich mehr auf die Implementierung des Geschäfts zu konzentrieren.
Merkmale:
1. Programmierer erstellen Objekte direkt über Fabrikmethoden und achten nicht mehr auf die Details des Erstellens von Objekten.
2. Das Ausblenden der Implementierungsdetails des Objekts ist auch der Sicherheit des Programms förderlich.
3. Reduzieren Sie den Programm für Programmkupplungen.
Anwendungen in der Entwicklung auf Unternehmensebene und gemeinsamen Frameworks:
SessionFactory usw. in Hibernate
Fabrikmodellklassifizierung:
Einfaches Werksmodell, das am häufigsten verwendete Formular in der Programmentwicklung, ist der spezifische Code wie folgt:
Public Class Demo { /*** Die Demo -Klasse ist unsere übliche Betriebsklasse. In dieser Klasse müssen wir uns nicht um die Implementierungsdetails des Erstellens von Autos kümmern*/ public static void main (String [] args) {car car = carbactory.createcar ("dz"); Car.run (); CAR CAR2 = CORFACTORY.CreateCar ("at"); car2.run (); }} interface car {public void run ();} Klasse DZ implementiert Car {public void run () {System.out.println ("Volkswagen läuft"); }} Klasse at implements car {public void run () {System.out.println ("Alto Car läuft"); }} Klasse carbactory {public static createCar (String type) {if ("dz" .equals (type)) {System.out.println ("Erstellt ein Volkswagen -Auto"); Neue DZ () zurückgeben; } if ("at" .equals (type)) {System.out.println ("ein Alto -Auto erstellt"); neu bei () zurückkehren; } return null; }}Der Factory -Methodenmodus ist einfacher zu erweitern als der einfache Werksmodus, und es ist nicht erforderlich, den vorherigen Code zu ändern.
Public Class Demo { /*** Die Demo -Klasse ist unsere übliche Betriebsklasse. In dieser Klasse müssen wir uns nicht um die Implementierungsdetails der Erstellung von Autos kümmern*/ public static void main (String [] args) {atfactory atfactory = new ATFactory (); Dzfactory dzfactory = new dzfactory (); Auto at = atfactory.createCar (); CAR DZ = DZFACTORY.CreateCar (); at.run (); dz.run (); }} interface car {public void run ();} Klasse DZ implementiert Car {public void run () {System.out.println ("Volkswagen läuft"); }} Klasse bei Implements Car {public void run () {System.out.println ("Auto Car läuft"); }} Schnittstellenkirzkarfaktor {car createCar ();} Klasse dzfactory implementiert kirschkirsches {public Car createCar () {return New DZ (); }} class atfactory implementiert karbaktorisch {public Car createCar () {neu bei () zurückgeben; }}Zusammenfassung Fabrikmethodenmuster:
public class Demo {public static void main (String [] args) {carfactory = new GDCarfactory (); Fdz fdz = carbactory.Createfdz (); fdz.zhuansu (); }} Schnittstelle fdz {void zhuansu ();} Klasse GDFDZ implementiert fdz {public void zhuansu () {System.out.println ("High-End-Motordrehzahl"); }} class ddfdz implementiert fdz {public void zhuansu () {System.out.println ("Low-End-Motordrehzahl langsam"); }} Schnittstelle zy {void shushidu ();} class gdzy implementiert zy {public void shushidu () {System.out.println ("High-End-Sitze sind bequem"); }} class ddzy implementiert zy {public void shushidu () {System.out.println ("Low-End-Sitze sind unangenehm"); }} Schnittstelle lt {void mosundu ();} class gdlt implementiert lt {public void mosundu () {System.out.println ("High-End-Reifen nicht tragen"); }} class ddlt implementiert lt {public void mosundu () {System.out.println ("Low-End-Reifen schnell"); }} interface car {fdz createfdz (); Zy createzy (); Lt createelt ();} class gdcarfactory implementiert car {@Override public fdz createfdz () {return New GDFDZ (); } @Override public zy createzy () {return new gdzy (); } @Override public lt createlt () {return New gdlt (); }} class ddcarfactory implementiert car {@Override public fdz createfdz () {return New dfdz (); } @Override public zy createzy () {return New dDzy (); } @Override public lt createlt () {return New dlt (); }}Vergleich von drei Methoden:
1. Einfacher Werksmodus: Der einfache Werksmodus ist einfach im Design, mit kleinem Codevolumen, aber schlechter Skalierbarkeit. Wenn die Erweiterung erforderlich ist, müssen Sie den vorherigen Code ändern.
2. Factory Method -Modus: Starke Skalierbarkeit, erhöht jedoch die Codekomplexität
3.. Abstraktes Fabrikmodell: Das abstrakte Fabrikmodell und das Fabrikmodell sind unterschiedlich. Das abstrakte Fabrikmodell unterteilt Produkte in Noten, aber das Werksmodell besteht darin, Produkte zu klassifizieren. Um ein Beispiel für ein Auto zu geben: Das Fabrikmodell besteht darin, verschiedene Arten von Autos wie Audi und Volkswagen zu produzieren, während das abstrakte Fabrikmodell das gleiche Auto in Noten unterteilt. Zum Beispiel teilen wir beide Volkswagen, wir teilen High-End-Autos und Low-End-Autos. Aus methodischer Sicht ähnelt das abstrakte Fabrikmuster eher der Verfeinerung des Fabrikmusters. Einer richtet sich an verschiedene Produkte und der andere richtet sich an die gleiche Produktfamilie.
Das obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, es wird für das Lernen aller hilfreich sein und ich hoffe, jeder wird Wulin.com mehr unterstützen.