Sobes.tech
Junior — Middle

Τι τύπος προτύπου Builder εφαρμόζεται όταν το αποτέλεσμα της εκτέλεσής του δεν είναι σημαντικό;

sobes.tech AI

Απάντηση από AI

Όταν το αποτέλεσμα της κατασκευής ενός αντικειμένου δεν είναι σημαντικό, εφαρμόζεται το σχέδιο Builder με μέθοδο Fluent Interface, όπου οι μέθοδοι επιστρέφουν τον ίδιο τον κατασκευαστή, επιτρέποντας την αλυσίδα κλήσεων μεθόδων για ρύθμιση, αλλά το τελικό αντικείμενο μπορεί να μην χρησιμοποιείται ή να μην είναι απαραίτητο. Αυτή η προσέγγιση συχνά χρησιμοποιείται για διαμόρφωση ή ρύθμιση, όπου η διαδικασία ορισμού των παραμέτρων είναι σημαντική, και όχι η δημιουργία του τελικού αντικειμένου.

Παράδειγμα σε Kotlin για Android:

class LoggerBuilder {
    private var level: String = "INFO"
    private var tag: String = "App"

    fun setLevel(level: String) = apply { this.level = level }
    fun setTag(tag: String) = apply { this.tag = tag }

    fun build() {
        // Εδώ δεν υπάρχει επιστροφή αντικειμένου, απλώς διαμορφώνουμε το logger
        println("Logger διαμορφωμένο με επίπεδο=$level και ετικέτα=$tag")
    }
}

// Χρήση:
LoggerBuilder()
    .setLevel("DEBUG")
    .setTag("MyApp")
    .build()  // Το αποτέλεσμα δεν είναι σημαντικό, η διαδικασία διαμόρφωσης είναι