Junior — Middle
Môžete vysvetliť princíp fungovania vzoru 'Builder' a jeho hlavné použitie?
sobes.tech AI
Odpoveď od AI
Vzor "Builder" sa používa na postupné vytváranie zložitých objektov, oddelením procesu konštrukcie od prezentácie. To umožňuje vytvárať rôzne varianty objektu pomocou toho istého procesu výstavby.
Hlavná myšlienka je mať samostatnú triedu (staviteľ), ktorá zhromažďuje parametre a kroky na vytvorenie objektu a potom vracia hotový exemplár.
Použitie:
- Keď má objekt veľa parametrov, najmä voliteľných.
- Keď je potrebné vytvárať objekty s rôznymi konfiguráciami.
Príklad v 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
}
}
// Použitie:
// let car = CarBuilder().setColor("Red").setSeats(4).setEngine("V8").build()