Sobes.tech
Junior — Middle

Kas saaksite selgitada 'Builder' mustri tööpõhimõtet ja selle peamist rakendust?

sobes.tech AI

Vastus AI-lt

Mudel "Builder" kasutatakse keeruliste objektide samm-sammuliseks loomisel ning ehitusprotsessi eraldamiseks esitlusest. See võimaldab sama ehitusprotsessi kasutades luua objekti erinevaid variante.

Põhiteooria on omada eraldi klassi (ehitaja), mis kogub parameetreid ja samme objekti loomisel ning tagastab valmis eksemplari.

Rakendused:

  • Kui objektil on palju parameetreid, eriti valikulisi.
  • Kui on vaja luua objekte erinevate konfiguratsioonidega.

Näide Swiftis:

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

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