Какой тип шаблона Builder применяют, когда результат его выполнения не важен?

Такой подход часто применяется для конфигурации или настройки, где важен сам процесс установки параметров, а не создание конечного объекта.

Короткий ответ

Что ответить на собеседовании

Когда результат построения объекта не важен, применяют шаблон Builder с методом Fluent Interface, где методы возвращают самого строителя, позволяя вызывать цепочку методов для настройки, но итоговый объект может не использоваться или быть не нужен. Такой подход часто применяется для конфигурации или настройки, где важен сам процесс установки параметров, а не создание конечного объекта.

Подробный разбор

Ответ с пояснениями

Когда результат построения объекта не важен, применяют шаблон 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()  // Результат не важен, важен процесс настройки

Практика в реальном времени

Подготовьтесь к следующему собеседованию

Interview Boost учитывает вакансию, резюме и технологии и помогает сформулировать ответ прямо во время интервью.

Начать подготовку