Junior — Middle
Puteți explica principiul de funcționare al pattern-ului 'Builder' și care este aplicația sa principală?
sobes.tech AI
Răspuns de la AI
Modelul "Builder" este utilizat pentru crearea pas cu pas a obiectelor complexe, separând procesul de construcție de prezentare. Acest lucru permite crearea diferitelor variante ale obiectului folosind același proces de construcție.
Ideea principală este să ai o clasă separată (builder) care acumulează parametrii și pașii pentru crearea obiectului și apoi returnează o instanță gata.
Aplicații:
- Când obiectul are mulți parametri, în special opționali.
- Când trebuie create obiecte cu configurații diferite.
Exemplu în 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
}
}
// Utilizare:
// let car = CarBuilder().setColor("Red").setSeats(4).setEngine("V8").build()