Sobes.tech
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()