Когда результат построения объекта не важен, применяют шаблон Builder с методом Fluent Interface, где методы возвращают самого строителя, позволяя вызывать цепочку методов для настройки, но итоговый объект может не использоваться или быть не нужен. Такой подход часто применяется для конфигурации или настройки, где важен сам процесс установки параметров, а не создание конечного объекта.
Какой тип шаблона Builder применяют, когда результат его выполнения не важен?
Такой подход часто применяется для конфигурации или настройки, где важен сам процесс установки параметров, а не создание конечного объекта.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Когда результат построения объекта не важен, применяют шаблон 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 configured with level=$level and tag=$tag")
}
}
// Использование:
LoggerBuilder()
.setLevel("DEBUG")
.setTag("MyApp")
.build() // Результат не важен, важен процесс настройки