Junior — Middle
Jaki typ szablonu Builder stosuje się, gdy wynik jego wykonania nie ma znaczenia?
sobes.tech AI
Odpowiedź od AI
Gdy wynik budowania obiektu nie jest istotny, stosuje się wzorzec Builder z metodą Fluent Interface, gdzie metody zwracają samego buildera, umożliwiając wywoływanie łańcuchów metod do konfiguracji, ale końcowy obiekt może nie być używany lub być niepotrzebny. Takie podejście często stosuje się do konfiguracji lub ustawień, gdzie ważny jest sam proces ustawiania parametrów, a nie tworzenie końcowego obiektu.
Przykład w Kotlin dla 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() {
// Tu nie ma zwrotu obiektu, po prostu konfigurujemy logger
println("Logger skonfigurowany z poziomem=$level i tagiem=$tag")
}
}
// Użycie:
LoggerBuilder()
.setLevel("DEBUG")
.setTag("MyApp")
.build() // Wynik nie jest ważny, ważny jest proces konfiguracji