Sobes.tech
Junior — Middle

Milyen típusú Builder sablont alkalmaznak, amikor az eredmény nem számít?

sobes.tech MI

Válasz az MI-től

Amikor az objektum építés eredménye nem fontos, alkalmazzák a Builder mintát Fluent Interface módszerrel, ahol a metódusok visszaadják magát az építőt, lehetővé téve a metódusláncokat a konfigurációhoz, de a végső objektum használata nem szükséges vagy nem is kell. Ez a megközelítés gyakran konfigurációhoz vagy beállításhoz használatos, ahol a paraméterek beállításának folyamata a fontos, nem a végső objektum létrehozása.

Kotlin példával Androidhoz:

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() {
        // Itt nincs objektum visszatérés, csak a logger konfigurálása
        println("Logger konfigurálva szint=$level és címke=$tag")
    }
}

// Használat:
LoggerBuilder()
    .setLevel("DEBUG")
    .setTag("MyApp")
    .build()  // Az eredmény nem fontos, a konfigurációs folyamat igen