Junior — Middle
Можете ли да обясните принципа на работа на патърна 'Builder' и какво е неговото основно приложение?
sobes.tech AI
Отговор от AI
Моделът "Builder" се използва за стъпково създаване на сложни обекти, като отделя процеса на конструиране от представянето. Това позволява да се създават различни варианти на обекта, използвайки един и същ процес на изграждане.
Основната идея е да имате отделен клас (строител), който събира параметрите и стъпките за създаване на обекта, а след това връща готов екземпляр.
Приложения:
- Когато обектът има много параметри, особено по избор.
- Когато е необходимо да се създават обекти с различни конфигурации.
Пример на 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
}
}
// Използване:
// let car = CarBuilder().setColor("Red").setSeats(4).setEngine("V8").build()