Wenn das System bereit ist, Benutzern eine Reihe verwandter Objekte bereitzustellen, aber nicht möchte, dass Benutzercode an diese Objekte gekoppelt wird, kann das abstrakte Factory-Muster verwendet werden.
1) Abstraktes Produkt – Auto
2) Spezifisches Produkt – BYDCar, TSLCar
3) Abstrakte Fabrik Fabrik
4) Spezifische Fabrik – BYDFactory, TSLFactory
/** * 抽象产品 */ public abstract class Car { public abstract String getName(); }
/** * 具体产品 */ public class BYDCar extends Car { String name; public BYDCar(String name){ this.name = name; } @Override public String getName() { return name; } }
/** * 抽象工厂 */ public abstract class CarFactoty { public abstract Car createCar(String name); }
/** * 具体工厂 */ public class BYDFactory extends CarFactoty { @Override public BYDCar createCar(String name) { return new BYDCar(name); } }
1) Das abstrakte Factory-Muster kann eine Reihe verwandter Objekte für Benutzer erstellen und Benutzer von Objekten dieser Klassen entkoppeln.
2) Mit dem abstrakten Factory-Muster kann auf einfache Weise eine Reihe von Objekten für Benutzer konfiguriert werden .
3) Im abstrakten Fabrikmuster kann jederzeit eine „Betonfabrik“ hinzugefügt werden, um Benutzern eine Reihe verwandter Objekte bereitzustellen.
Zum Beispiel: Wenn der Benutzer im obigen Beispiel ein Tesla-Auto benötigt, kann dies durch die Erstellung eines Tesla-Objekts und einer Tesla-Fabrik vervollständigt werden.
/** * 具体产品 */ public class TSLCar extends Car { String name; public TSLCar(String name){ this.name = name; } @Override public String getName() { return name; } }
Das obige ist der detaillierte Inhalt vonSo implementieren Sie das abstrakte Fabrikmuster von Java-Entwurfsmustern. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!