Sobes.tech
Junior — Middle

Können Sie das Funktionsprinzip des 'Builder'-Musters erklären und was seine Hauptanwendung ist?

sobes.tech KI

Antwort von AI

Das Muster "Builder" wird verwendet, um komplexe Objekte schrittweise zu erstellen, wobei der Bauprozess von der Darstellung getrennt wird. Dies ermöglicht die Erstellung verschiedener Varianten des Objekts mit demselben Bauprozess.

Die Hauptidee ist, eine separate Klasse (Builder) zu haben, die die Parameter und Schritte zum Erstellen des Objekts sammelt und dann eine fertige Instanz zurückgibt.

Anwendung:

  • Wenn das Objekt viele Parameter hat, insbesondere optionale.
  • Wenn Objekte mit unterschiedlichen Konfigurationen erstellt werden sollen.

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

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