Heim >Java >javaLernprogramm >Ausführliche Erklärung des abstrakten JAVA-Fabrikmusters mit Beispielen
Dieser Artikel vermittelt Ihnen relevantes Wissen über Java. Erfahren Sie anhand tatsächlicher Beispiele, was das abstrakte Fabrikmuster betrifft Jeder. Hilfreich.
Empfohlenes Lernen: „Java-Video-Tutorial“
Die Definition des abstrakten Factory-Musters (AbstractFactory): ist eine Methode, die eine Zugriffsklasse zum Erstellen bereitstellt Eine Reihe verwandter Objekte oder Schnittstellen voneinander abhängiger Objekte, und die Zugriffsklasse kann die Schemastruktur von Produkten derselben Familie auf verschiedenen Ebenen abrufen, ohne die spezifische Klasse des gewünschten Produkts anzugeben.
Sie können mehrstufige Produkte der Produktfamilie innerhalb der Klasse gemeinsam verwalten, ohne mehrere neue Klassen für die Verwaltung einführen zu müssen.
Wenn eine Produktfamilie benötigt wird, kann die abstrakte Fabrik sicherstellen, dass der Kunde immer nur die Produktgruppe desselben Produkts verwendet.
Abstract Factory verbessert die Skalierbarkeit des Programms. Beim Hinzufügen einer neuen Produktfamilie ist es nicht erforderlich, den ursprünglichen Code zu ändern, um das Öffnungs- und Schließprinzip zu erfüllen.
Die Hauptrollen in diesem Fall sind wie folgt:
Abstrakte Fabrik (Abstrakte Fabrik): Das Erbe der sieben Helden
Fabrik (SimpleFactory): Meister, Herrin
Abstrakt Produkt (Produkt): Meteorit (Rohstoff zur Herstellung von Schwertern), ein Nest aus Taubeneiern (ungeschlüpfte Tauben)
Betonprodukt: Sieben Schwerter. Sieben spirituelle Tauben
Fall:
Der Meister besitzt das Erbe der sieben Helden und kann das Schwert der Sonne schmieden und männliche kleine Geistertauben züchten.
Die Frau des Meisters besitzt das Erbe der Sieben Helden und kann das Yin-Schwert schmieden und weibliche Tauben züchten.
Die sieben Helden finden ihren Meister und ihre Frau, um ihre eigenen Schwerter herzustellen und ihre eigenen kleinen Tauben zu adoptieren.
S1-Schnittstelle (Meteorit):
Eine Methode ist in der Schnittstelle deklariert
public interface S1 { void show();}
S2-Schnittstelle (ein Nest aus Taubeneiern):
Eine Methode ist in deklariert Die Schnittstellenmethode
public interface S2 { void show();}
A1-Klasse implementiert Schnittstelle S1 (Changhong Sword):
implementiert S1-Schnittstelle
public class A1 implements S1 { @Override public void show() { System.out.println("打造了一把长虹剑"); }}
B1-Klasse implementiert Schnittstelle S1 (Ice Soul Sword):
implementiert S1-Schnittstelle
public class B1 implements S1 { @Override public void show() { System.out.println("打造了一把冰魄剑"); }}
C1-Klasse implementiert Schnittstelle S1 (Ziyun Sword):
implementiert S1-Schnittstelle
public class C1 implements S1 { @Override public void show() { System.out.println("打造了一把紫云剑"); }}
D1-Klasse implementiert Schnittstelle S1 (Yuhua Sword):
implementiert S1-Schnittstelle
public class D1 implements S1 { @Override public void show() { System.out.println("打造了一把紫云剑"); }}
E1-Klassenimplementierung Schnittstelle S1 (Blue Light Sword):
implementiert Ss-Schnittstelle
public class E1 implements S1 { @Override public void show() { System.out.println("打造了一把紫云剑"); }}
F1-Klasse implementiert Schnittstelle S1 (Ben Lei Sword):
implementiert Ss-Schnittstelle
public class F1 implements S1 { @Override public void show() { System.out.println("打造了一把紫云剑"); }}
G1-Klasse implementiert Schnittstelle S1 (Cy Klonen Schwert):
implementiert Ss-Schnittstelle
public class G1 implements S1 { @Override public void show() { System.out.println("打造了一把紫云剑"); }}
A2-Klasse implementiert Schnittstelle S2 (Lingge Nr. 1):
implementiert S1-Schnittstelle
public class A2 implements S2 { @Override public void show() { System.out.println("灵鸽七号"); }}
B2-Klasse implementiert Schnittstelle S2 (Lingge Nr. 2). ) :
implementiert S1-Schnittstelle
public class B2 implements S2 { @Override public void show() { System.out.println("灵鸽七号"); }}
C2-Klasse implementiert Schnittstelle S2 (Lingge Nr. 3):
implementiert S1-Schnittstelle
public class C2 implements S2 { @Override public void show() { System.out.println("灵鸽七号"); }}
D2-Klasse implementiert Schnittstelle S2 (Lingge Nr. 4). ): „Implementiert die S1-Schnittstelle.“
Implementieren Sie die Ss-Schnittstelle
public class D2 implements S2 { @Override public void show() { System.out.println("灵鸽七号"); }}
Die G2-Klasse implementiert die Schnittstelle S2 (Lingge Nr. 7):
Die Schnittstelle deklariert eine Schwertherstellungsmethode abc1() und eine Taubenzuchtmethode abc2()
public class E2 implements S2 { @Override public void show() { System.out.println("灵鸽七号"); }}
Nan-Klasse implementiert die Schnittstelle Zz (Master):
implementiert die Zz-Schnittstelle
public class F2 implements S2 { @Override public void show() { System.out.println("灵鸽七号"); }}
Nv Klasse implementiert die Schnittstelle Zz (Frau des Meisters):
Zz-Schnittstelle implementieren
public class G2 implements S2 { @Override public void show() { System.out.println("灵鸽七号"); }}
Testkategorie:
“public interface Zz { S1 abc1(String a); S2 abc2(String a);}Empfohlenes Lernen: „
Java-Video-Tutorial
Das obige ist der detaillierte Inhalt vonAusführliche Erklärung des abstrakten JAVA-Fabrikmusters mit Beispielen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!