Junior — Middle
Czy możesz wyjaśnić zasadę działania wzorca 'Builder' i jakie jest jego główne zastosowanie?
sobes.tech AI
Odpowiedź od AI
Wzorzec "Builder" jest używany do stopniowego tworzenia złożonych obiektów, oddzielając proces konstruowania od prezentacji. Pozwala to na tworzenie różnych wariantów obiektu, korzystając z tego samego procesu budowania.
Główną ideą jest posiadanie osobnej klasy (budowniczy), która gromadzi parametry i kroki tworzenia obiektu, a następnie zwraca gotową instancję.
Zastosowania:
- Gdy obiekt ma wiele parametrów, szczególnie opcjonalnych.
- Gdy konieczne jest tworzenie obiektów z różnymi konfiguracjami.
Przykład w 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
}
}
// Użycie:
// let car = CarBuilder().setColor("Red").setSeats(4).setEngine("V8").build()