Sobes.tech
Junior — Middle

Puteți explica principiul de funcționare al pattern-ului 'Builder' și care este aplicația sa principală?

sobes.tech AI

Răspuns de la AI

Modelul "Builder" este utilizat pentru crearea pas cu pas a obiectelor complexe, separând procesul de construcție de prezentare. Acest lucru permite crearea diferitelor variante ale obiectului folosind același proces de construcție.

Ideea principală este să ai o clasă separată (builder) care acumulează parametrii și pașii pentru crearea obiectului și apoi returnează o instanță gata.

Aplicații:

  • Când obiectul are mulți parametri, în special opționali.
  • Când trebuie create obiecte cu configurații diferite.

Exemplu în 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
    }
}

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