Sobes.tech
Junior — Middle

Ce tip de șablon Builder se aplică atunci când rezultatul execuției sale nu este important?

sobes.tech AI

Răspuns de la AI

Când rezultatul construirii unui obiect nu este important, se aplică șablonul Builder cu metodă Fluent Interface, unde metodele returnează chiar constructorul, permițând apelarea în lanț a metodelor pentru configurare, dar obiectul final poate să nu fie utilizat sau să nu fie necesar. Această abordare este adesea folosită pentru configurare sau ajustare, unde procesul de setare a parametrilor este important, nu crearea obiectului final.

Exemplu în Kotlin pentru 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() {
        // Aici nu există returnare de obiect, doar configurăm logger-ul
        println("Logger configurat cu level=$level și tag=$tag")
    }
}

// Utilizare:
LoggerBuilder()
    .setLevel("DEBUG")
    .setTag("MyApp")
    .build()  // Rezultatul nu contează, contează procesul de configurare