Назад к вопросам
Junior — Middle
75
Можете объяснить принцип работы паттерна 'Builder' и в чем его основное применение?
Ответ от нейросети
sobes.tech 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()