Sobes.tech
Junior — Middle

Jaký typ šablony Builder se používá, když výsledek jeho provedení není důležitý?

sobes.tech AI

Odpověď od AI

Když výsledek sestavení objektu není důležitý, používá se vzor Builder s metodou Fluent Interface, kde metody vracejí samotného stavitele, což umožňuje řetězení volání metod pro konfiguraci, ale konečný objekt může být nepoužit nebo být zbytečný. Tento přístup se často používá pro konfiguraci nebo nastavení, kde je důležitý samotný proces nastavování parametrů, nikoli tvorba konečného objektu.

Příklad v Kotlinu pro 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() {
        // Zde není návrat objektu, pouze konfigurujeme logger
        println("Logger nakonfigurován s úrovní=$level a tagem=$tag")
    }
}

// Použití:
LoggerBuilder()
    .setLevel("DEBUG")
    .setTag("MyApp")
    .build()  // Výsledek není důležitý, důležitý je proces konfigurace