Встречается на собеседованиях • сегодня
Какая основная цель паттерна 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-поля).
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы