Junior — Middle
¿Puede explicar el principio de funcionamiento del patrón 'Builder' y cuál es su uso principal?
sobes.tech AI
Respuesta de la IA
El patrón "Builder" se utiliza para crear objetos complejos paso a paso, separando el proceso de construcción de la representación. Esto permite crear diferentes variantes del objeto usando el mismo proceso de construcción.
La idea principal es tener una clase separada (constructor) que acumula los parámetros y pasos para crear el objeto, y luego devuelve una instancia lista.
Aplicaciones:
- Cuando el objeto tiene muchos parámetros, especialmente opcionales.
- Cuando se necesitan crear objetos con diferentes configuraciones.
Ejemplo en Swift:
class Car {
var color: String?
var seats: Int?
var engine: String?
}
class CarBuilder {
private var car = Car()
func setColor(_ color: String) -> CarBuilder {
car.color = color
return self
}
func setSeats(_ seats: Int) -> CarBuilder {
car.seats = seats
return self
}
func setEngine(_ engine: String) -> CarBuilder {
car.engine = engine
return self
}
func build() -> Car {
return car
}
}
// Uso:
// let car = CarBuilder().setColor("Red").setSeats(4).setEngine("V8").build()