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()