Sobes.tech
Junior — Middle

Builder naqshining ishlash prinsipi va uning asosiy qo'llanilishi haqida tushuntirib bera olasizmi?

sobes.tech AI

AIdan javob

"Builder" naqshasi murakkab obyektlarni bosqichma-bosqich yaratish uchun ishlatiladi va qurilish jarayonini taqdimotdan ajratadi. Bu, bir xil qurilish jarayonidan foydalanib, obyektning turli variantlarini yaratishga imkon beradi.

Asosiy g'oya, obyektni yaratish uchun parametrlar va bosqichlarni to'plagan alohida sinf (builder) bo'lishi va keyin tayyor nusxani qaytarishdir.

Qo'llanilishi:

  • Ob'ektda ko'p parametrlar bo'lsa, ayniqsa, majburiy bo'lmaganlar.
  • Turli konfiguratsiyalarga ega obyektlarni yaratish zarur bo'lsa.

Swiftda misol:

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
    }
}

// Foydalanish:
// let car = CarBuilder().setColor("Red").setSeats(4).setEngine("V8").build()