Sobes.tech
Junior — Middle

Môžete vysvetliť princíp fungovania vzoru 'Builder' a jeho hlavné použitie?

sobes.tech AI

Odpoveď od AI

Vzor "Builder" sa používa na postupné vytváranie zložitých objektov, oddelením procesu konštrukcie od prezentácie. To umožňuje vytvárať rôzne varianty objektu pomocou toho istého procesu výstavby.

Hlavná myšlienka je mať samostatnú triedu (staviteľ), ktorá zhromažďuje parametre a kroky na vytvorenie objektu a potom vracia hotový exemplár.

Použitie:

  • Keď má objekt veľa parametrov, najmä voliteľných.
  • Keď je potrebné vytvárať objekty s rôznymi konfiguráciami.

Príklad v 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
    }
}

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