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()