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