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