Sobes.tech
Junior — Middle

Pouvez-vous expliquer le principe de fonctionnement du pattern 'Builder' et quelle est son application principale?

sobes.tech IA

Réponse de l'IA

Le motif "Builder" est utilisé pour créer étape par étape des objets complexes, en séparant le processus de construction de la représentation. Cela permet de créer différentes variantes de l'objet en utilisant le même processus de construction.

L'idée principale est d'avoir une classe séparée (constructeur) qui accumule les paramètres et les étapes de création de l'objet, puis retourne une instance prête.

Application:

  • Lorsqu'un objet a beaucoup de paramètres, en particulier optionnels.
  • Lorsqu'il est nécessaire de créer des objets avec différentes configurations.

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

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