Sobes.tech
Junior — Middle

Millist tüüpi Builder-malli kasutatakse, kui selle täitmise tulemus ei ole oluline?

sobes.tech AI

Vastus AI-lt

Kui objekti loomise tulemus ei ole oluline, rakendatakse Builder mustrit Fluent Interface meetodiga, kus meetodid tagastavad sama ehitaja ennast, võimaldades meetodite ahelat konfiguratsiooni jaoks, kuid lõplik objekt võib mitte olla kasutusel või olla tarbetu. See lähenemine kasutatakse sageli konfiguratsiooni või seadistuste puhul, kus oluline on vaid parameetrite seadistamise protsess, mitte lõpliku objekti loomine.

Näide Kotlinis Android jaoks:

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() {
        // Siin ei ole objekti tagastust, lihtsalt seadistame loggeri
        println("Logger konfigureeritud tasemega=$level ja sildiga=$tag")
    }
}

// Kasutus:
LoggerBuilder()
    .setLevel("DEBUG")
    .setTag("MyApp")
    .build()  // Tulemus ei ole oluline, oluline on konfiguratsiooniprotsess