[JAVA] Builder-Muster

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.

Design Pattarm MENU

Ü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
  • Benutzer Enthält die Bedeutung, die andere Entwickler für dieses Muster verwenden

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

Builder-Muster
Builder-Muster
Entwurfsmuster ~ Builder ~
Entwurfsmuster (2): Builder
Builder-Muster (effektives Java)
Erinnerungsmuster
Vermittlermuster
Iteratormuster
Zusammengesetztes Muster
Beobachtermuster
Brückenmuster
Befehlsmuster
Strategiemuster
Iteratormuster
Besuchermuster
Adaptermuster
Proxy-Muster
Strategiemuster
Zusammengesetztes Muster
Singleton-Muster
Singleton-Muster
Prototypmuster
Fassadenmuster
Dekorationsmuster
Fliegengewichtsmuster
Dekorateur Muster
Vermittlermuster
Fassadenmuster
Besuchermuster
Brückenmuster
Objektmuttermuster und Test Data Builder-Muster
abstraktes Fabrikmuster
[Java] Strategiemuster
Entwurfsmuster ~ Besucher ~
Java-Entwurfsmuster
Java-Rückrufmuster
Test Data Builder-Muster ~ Verbessert die Wartbarkeit des Testcodes
Entwurfsmuster ~ Proxy ~
Entwurfsmuster ~ Zustand ~
Factory Method Pattern
Entwurfsmuster ~ Strategie ~
Entwurfsmuster ~ Singleton ~
Entwurfsmuster ~ Composite ~
Entwurfsmuster (1): AbstractFactory
[Java] Singleton-Muster
Entwurfsmuster ~ Befehl ~
Abstraktes Fabrikmuster
Entwurfsmuster ~ Iterator ~
Entwurfsmuster ~ Fassade ~
Entwurfsmuster ~ Brücke ~
Entwurfsmuster ~ Mediator ~
Muster der Vorlagenmethode
Entwurfsmuster ~ Dekorateur ~
Muster der Vorlagenmethode
Entwurfsmuster ~ Interpreter ~
Factory Method Muster
Entwurfsmuster ~ Beobachter ~
Entwurfsmuster ~ Prototyp ~
[Java] Adaptermuster
Entwurfsmuster ~ Memento ~
Entwurfsmuster ~ Adapter ~