Sobes.tech
Junior — Middle

Můžete vysvětlit princip fungování vzoru 'Builder' a jeho hlavní použití?

sobes.tech AI

Odpověď od AI

Vzor "Builder" se používá k postupnému vytváření složitých objektů, oddělením procesu konstrukce od zobrazení. To umožňuje vytvářet různé varianty objektu pomocí stejného procesu stavby.

Hlavní myšlenkou je mít samostatnou třídu (stavitel), která shromažďuje parametry a kroky tvorby objektu a poté vrací hotový exemplář.

Použití:

  • Když má objekt mnoho parametrů, zejména volitelných.
  • Když je třeba vytvářet objekty s různými konfiguracemi.

Pří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žití:
// let car = CarBuilder().setColor("Red").setSeats(4).setEngine("V8").build()