Junior — Middle
Můžete vysvětlit princip fungování vzoru 'Builder' a jeho hlavní použití?
sobes.tech AI
Odpověď od AI
Vzor "Builder" se používá k postupnému vytváření složitých objektů, oddělením procesu konstrukce od zobrazení. To umožňuje vytvářet různé varianty objektu pomocí stejného procesu stavby.
Hlavní myšlenkou je mít samostatnou třídu (stavitel), která shromažďuje parametry a kroky tvorby objektu a poté vrací hotový exemplář.
Použití:
- Když má objekt mnoho parametrů, zejména volitelných.
- Když je třeba vytvářet objekty s různými konfiguracemi.
Pří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žití:
// let car = CarBuilder().setColor("Red").setSeats(4).setEngine("V8").build()