Встречается на собеседованиях • сегодня

Какая основная цель паттерна Builder

Основная цель Builder — упростить создание сложных объектов с множеством параметров, особенно когда некоторые из них необязательны.

Проблема:
Конструкторы с большим количеством параметров становятся громоздкими, а setter-ы не гарантируют неизменность объекта.

Решение:
Builder инкапсулирует логику создания объекта, позволяя задавать параметры пошагово.

Пример:

java
public class User {
    private final String name;
    private final int age;
    private final String email;
text
private User(Builder builder) {
    this.name = builder.name;
    this.age = builder.age;
    this.email = builder.email;
}

public static class Builder {
    private String name;
    private int age;
    private String email;

    public Builder(String name) {
        this.name = name;
    }

    public Builder age(int age) {
        this.age = age;
        return this;
    }

    public Builder email(String email) {
        this.email = email;
        return this;
    }

    public User build() {
        return new User(this);
    }
}

}

// Использование:
User user = new User.Builder("Alice").age(25).email("alice@example.com").build();

text

**Плюсы:**  
- Гибкость (можно пропускать необязательные параметры).  
- Читаемость (цепочки методов).  
- Неизменяемость (final-поля).
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы