Junior — Middle
¿Puede explicar la concepto del patrón de diseño Builder y cuál es su ventaja?
sobes.tech AI
Respuesta de la IA
El patrón de diseño Builder se utiliza para crear objetos complejos paso a paso. Separa el proceso de construcción del objeto de su representación, permitiendo crear diferentes variantes del objeto usando el mismo proceso.
Ventajas:
- Permite crear objetos con múltiples parámetros, evitando constructores con un gran número de argumentos.
- Mejora la legibilidad y el mantenimiento del código.
- Permite crear diferentes representaciones del objeto usando el mismo código de construcción.
Ejemplo en Dart (Flutter):
class Pizza {
final String dough;
final String sauce;
final String topping;
Pizza._builder(PizzaBuilder builder)
: dough = builder.dough,
sauce = builder.sauce,
topping = builder.topping;
}
class PizzaBuilder {
String dough = '';
String sauce = '';
String topping = '';
PizzaBuilder setDough(String dough) {
this.dough = dough;
return this;
}
PizzaBuilder setSauce(String sauce) {
this.sauce = sauce;
return this;
}
PizzaBuilder setTopping(String topping) {
this.topping = topping;
return this;
}
Pizza build() {
return Pizza._builder(this);
}
}
void main() {
var pizza = PizzaBuilder()
.setDough('Thin crust')
.setSauce('Tomato')
.setTopping('Cheese')
.build();
}