Sobes.tech
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()