Junior — Middle
Kas saaksite selgitada 'Builder' mustri tööpõhimõtet ja selle peamist rakendust?
sobes.tech AI
Vastus AI-lt
Mudel "Builder" kasutatakse keeruliste objektide samm-sammuliseks loomisel ning ehitusprotsessi eraldamiseks esitlusest. See võimaldab sama ehitusprotsessi kasutades luua objekti erinevaid variante.
Põhiteooria on omada eraldi klassi (ehitaja), mis kogub parameetreid ja samme objekti loomisel ning tagastab valmis eksemplari.
Rakendused:
- Kui objektil on palju parameetreid, eriti valikulisi.
- Kui on vaja luua objekte erinevate konfiguratsioonidega.
Näide Swiftis:
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
}
}
// Kasutamine:
// let car = CarBuilder().setColor("Red").setSeats(4).setEngine("V8").build()