Встречается на собеседованиях • сегодня
Для чего нужен паттерн Builder
Паттерн Builder используется для пошагового создания сложных объектов, когда процесс конструирования должен быть отделён от представления объекта. Особенно полезен, когда объект имеет много полей, часть из которых опциональны, или когда нужно создавать объекты с разными конфигурациями.
Пример:
java
public class User {
private final String firstName;
private final String lastName;
private final int age;
private final String phone;
private final String address;
private User(UserBuilder builder) {
this.firstName = builder.firstName;
this.lastName = builder.lastName;
this.age = builder.age;
this.phone = builder.phone;
this.address = builder.address;
}
text
public static class UserBuilder {
private final String firstName;
private final String lastName;
private int age;
private String phone;
private String address;
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 UserBuilder address(String address) {
this.address = address;
return this;
}
public User build() {
return new User(this);
}
}}
// Использование:
User user = new User.UserBuilder("John", "Doe")
.age(30)
.phone("1234567")
.address("Some address")
.build();
text
Основные преимущества:
- Позволяет создавать объекты с разными наборами параметров
- Делает код более читаемым
- Позволяет делать объекты иммутабельными
- Избавляет от необходимости в множестве конструкторов
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы