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

Что такое шаблон Builder

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

Пример:

java
public class User {
    private final String firstName;
    private final String lastName;
    private final int age;
    private final String phone;

    private User(UserBuilder builder) {
        this.firstName = builder.firstName;
        this.lastName = builder.lastName;
        this.age = builder.age;
        this.phone = builder.phone;
    }
text
public static class UserBuilder {
    private final String firstName;
    private final String lastName;
    private int age;
    private String phone;

    public UserBuilder(String firstName, String lastName) {
        this.firstName = firstName;
        this.lastName = lastName;
    }

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

    public UserBuilder phone(String phone) {
        this.phone = phone;
        return this;
    }

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

}

// Использование:
User user = new User.UserBuilder("John", "Doe")
.age(30)
.phone("1234567890")
.build();

text

Преимущества:
- Позволяет создавать объекты с разными конфигурациями
- Делает код более читаемым
- Избавляет от необходимости создавать множество конструкторов
- Поддерживает иммутабельность объектов
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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