Ein Muster, in dem der Benutzer unwissentlich eine komplexe Programmkombination (Komposition) ausführt.
Ein Konstruktor, der mehrere Konstruktoren benötigt oder viele Argumentkombinationen aufweist, wird programmiert. Kann auch beim Externalisieren von </ font> verwendet werden
Diese Seite beschreibt das Builder-Muster.
Überprüfen Sie mit der folgenden Klassenstruktur
Klasse | Erläuterung |
---|---|
abstract Builder.class | Definieren Sie mehrere Methoden |
samBuilder1.class | Builder.Klasse implementieren |
samBuilder2.class | das Gleiche |
Director.class | Verfassen Sie mehrere Builder-Methoden |
user(Main.class) | Überprüfen Sie den Betrieb |
Builder.class
abstract class Builder{
abstract void line1();
abstract void line2();
abstract void msg(String msg);
}
samBuilder1.class
class samBuilder1 extends Builder{
void line1(){System.out.println("|||||||||||||");}
void line2(){System.out.println(".............");}
void msg(String msg){System.out.println(msg);}
}
samBuilder2.class
class samBuilder2 extends Builder{
void line1(){System.out.println("=============");}
void line2(){System.out.println("~~~~~~~~~~~~~");}
void msg(String msg){System.out.println(msg);}
}
Director.class
class Director{
Builder builder;
Director (Builder builder){this.builder=builder;}
void construct(String msg){ //Schreiben Sie hier komplexe Konstruktoren oder kombinieren Sie Methoden
builder.line1(); // A
builder.msg(msg); // B
builder.line2(); // C
} // A~Die Ausgabe ändert sich durch Ändern der Reihenfolge von C. Beispiel für die Erstellung einer Methode
}
user(Main.class)
public static void main(String[] args){
samBuilder1 sam1 = new samBuilder1();
Director dc1 = new Director(sam1);
dc1.construct("Builder");
samBuilder2 sam2 = new samBuilder2();
Director dc2 = new Director(sam2);
dc2.construct("builder");
}}
Benutzer kann die konkrete Methode von Builder nicht sehen
Recommended Posts