Τι είναι τα Underbuilders στην Java;
Το underbuilder είναι μια κλάση που παρέχει μια προεπιλεγμένη υλοποίηση ενός builder για έναν συγκεκριμένο τύπο. Με άλλα λόγια, είναι ένα πρόγραμμα δημιουργίας που δημιουργεί στιγμιότυπα ενός συγκεκριμένου τύπου.
Για παράδειγμα, ας υποθέσουμε ότι έχετε μια κλάση που ονομάζεται «Car» και θέλετε να παρέχετε ένα πρόγραμμα δημιουργίας για αυτήν. Θα μπορούσατε να ορίσετε ένα underbuilder όπως αυτό:
```
class CarBuilder : Builder
// Ορίστε τις προεπιλεγμένες τιμές για τις ιδιότητες του Car
private var color: String = "red"
private var make: String = "toyota "
private var model: String = "corolla"
private var year: Int = 2015
// Ορίστε τις μεθόδους δημιουργίας που μπορούν να κληθούν για να ορίσετε τις ιδιότητες
διασκέδαση μεΧρώμα(χρώμα: String): CarBuilder {
this.color = color
επιστροφή this
}
fun withMake(make: String): CarBuilder {
this.make = make
return this
}
fun withModel(model: String): CarBuilder {
this.model = model
return this
}
fun withYear(έτος: Int) : CarBuilder {
this.year = year
return this
}
// Ορισμός της μεθόδου δημιουργίας του Car instance
override fun build(): Car {
return Car(color, make, model, year)
}
}
`` «Σε αυτό το παράδειγμα, η κλάση «CarBuilder» είναι μια υποδομή για την κατηγορία «Car». Παρέχει μια προεπιλεγμένη υλοποίηση του builder που μπορεί να χρησιμοποιηθεί για τη δημιουργία παρουσιών του "Car". Οι μέθοδοι «withColor», «withMake», «withModel» και «withYear» σάς επιτρέπουν να ορίσετε τις ιδιότητες του στιγμιότυπου «Car» και η μέθοδος «build» χρησιμοποιείται για τη δημιουργία της παρουσίας «Car».
Οι κατώτερες χρήσιμο όταν θέλετε να παρέχετε μια προεπιλεγμένη υλοποίηση ενός προγράμματος δημιουργίας για έναν συγκεκριμένο τύπο, αλλά θέλετε επίσης να επιτρέψετε σε άλλους κατασκευαστές να επεκτείνουν ή να τροποποιήσουν αυτήν την υλοποίηση. Για παράδειγμα, μπορεί να έχετε ένα πρόγραμμα δημιουργίας βάσης που παρέχει μια προεπιλεγμένη υλοποίηση των ιδιοτήτων και, στη συνέχεια, άλλα προγράμματα δημιουργίας μπορούν να επεκτείνουν αυτό το πρόγραμμα δημιουργίας βάσης για να προσθέσουν πρόσθετες ιδιότητες ή να τροποποιήσουν τις υπάρχουσες.



