Junior — Middle
Μπορείτε να εξηγήσετε την αρχή λειτουργίας του μοτίβου 'Builder' και ποια είναι η κύρια εφαρμογή του;
sobes.tech AI
Απάντηση από AI
Το μοτίβο "Builder" χρησιμοποιείται για την σταδιακή δημιουργία πολύπλοκων αντικειμένων, διαχωρίζοντας τη διαδικασία κατασκευής από την παρουσίαση. Αυτό επιτρέπει τη δημιουργία διαφορετικών παραλλαγών του αντικειμένου χρησιμοποιώντας την ίδια διαδικασία κατασκευής.
Η κύρια ιδέα είναι να υπάρχει μια ξεχωριστή κλάση (builder) που συγκεντρώνει τις παραμέτρους και τα βήματα δημιουργίας του αντικειμένου και στη συνέχεια επιστρέφει ένα έτοιμο αντίγραφο.
Εφαρμογές:
- Όταν το αντικείμενο έχει πολλά παραμέτρους, ειδικά προαιρετικές.
- Όταν χρειάζεται να δημιουργηθούν αντικείμενα με διαφορετικές διαμορφώσεις.
Παράδειγμα σε 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
}
}
// Χρήση:
// let car = CarBuilder().setColor("Red").setSeats(4).setEngine("V8").build()