Junior — Middle
Какъв тип шаблон Builder се използва, когато резултатът от изпълнението му не е важен?
sobes.tech AI
Отговор от AI
Когато резултатът от изграждането на обект не е важен, се прилага шаблонът Builder с метод Fluent Interface, където методите връщат самия строител, позволявайки верижно извикване на методи за настройка, но крайният обект може да не се използва или да не е необходим. Този подход често се използва за конфигурация или настройка, където важен е самият процес на задаване на параметри, а не създаването на крайния обект.
Пример на Kotlin за 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() {
// Тук няма връщане на обект, просто конфигурираме логгера
println("Logger конфигуриран с ниво=$level и таг=$tag")
}
}
// Използване:
LoggerBuilder()
.setLevel("DEBUG")
.setTag("MyApp")
.build() // Резултатът не е важен, важен е процесът на настройка