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

Что такое паттерн 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("1234567")
.build();

text

Преимущества:
- Гибкость создания объектов
- Читаемость кода
- Неизменяемость объектов
- Позволяет делать проверки параметров перед созданием объекта
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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