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