Junior — Middle
Kokio tipo Builder šabloną taikome, kai jo vykdymo rezultatas nėra svarbus?
sobes.tech AI
Atsakymas iš AI
Kai objekto kūrimo rezultatas nėra svarbus, taikomas Builder šablonas su Fluent Interface metodu, kur metodai grąžina patį kūrėją, leidžiantį grandininius metodų iškvietimus konfigūracijai, tačiau galutinis objektas gali būti nenaudojamas arba nereikalingas. Šis požiūris dažnai taikomas konfigūracijai ar nustatymams, kur svarbus pats parametrų nustatymo procesas, o ne galutinio objekto kūrimas.
Pavyzdys Kotlin kalba Android platformai:
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() {
// Čia nėra objekto grąžinimo, tik konfigūruojame logerį
println("Logger sukonfigūruotas su lygiu=$level ir žyma=$tag")
}
}
// Naudojimas:
LoggerBuilder()
.setLevel("DEBUG")
.setTag("MyApp")
.build() // Rezultatas nėra svarbus, svarbus yra konfigūracijos procesas