Quand le modèle Builder est-il nécessaire ?
Le modèle Builder offre une approche flexible et structurée pour la construction d'objets complexes, en particulier lorsque leurs constructeurs peuvent ont une longue liste de paramètres.
Exemples de courants Applications :
Avantages par rapport au modèle d'usine :
Exemple d'implémentation dans Java :
public class Pizza { private int size; private boolean cheese; private boolean pepperoni; private boolean bacon; private Pizza(Builder builder) { this.size = builder.size; this.cheese = builder.cheese; this.pepperoni = builder.pepperoni; this.bacon = builder.bacon; } public static class Builder { // Required private final int size; // Optional private boolean cheese = false; private boolean pepperoni = false; private boolean bacon = false; public Builder(int size) { this.size = size; } public Builder cheese(boolean value) { this.cheese = value; return this; } public Builder pepperoni(boolean value) { this.pepperoni = value; return this; } public Builder bacon(boolean value) { this.bacon = value; return this; } public Pizza build() { return new Pizza(this); } } }
Ce constructeur permet une pizza flexible et cohérente configuration :
Pizza pizza = new Pizza.Builder(12) .cheese(true) .pepperoni(true) .bacon(false) .build();
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!