Un modèle dans lequel un utilisateur exécute sans le savoir une combinaison complexe de programmes (composition) 
 Un constructeur qui nécessite plusieurs constructeurs ou a de nombreuses combinaisons d'arguments est programmé. Peut également être utilisé lors de l'externalisation de </ font>
Cette page décrit le modèle Builder.
Vérifiez avec la structure de classe suivante
| classe | Explication | 
|---|---|
| abstract Builder.class | Définir plusieurs méthodes | 
| samBuilder1.class | Builder.Mettre en œuvre la classe | 
| samBuilder2.class | le même | 
| Director.class | Composez plusieurs méthodes de Builder | 
| user(Main.class) | Vérifiez le fonctionnement | 
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){  //Écrivez des constructeurs complexes ici ou combinez des méthodes
    builder.line1();           // A
    builder.msg(msg);          // B
    builder.line2();           // C
  }                            // A~La sortie change en changeant l'ordre de C. Exemple de construction d'une méthode
}
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");
}}
l'utilisateur ne peut pas voir la méthode concrète de Builder
Recommended Posts