Back to questions
Junior — Middle
60
Каково назначение и принцип работы паттерна Builder в программировании?
Answer from AI
sobes.tech AI
Паттерн Builder используется для поэтапного создания сложных объектов. Его основная задача — отделить конструирование объекта от его представления, чтобы один и тот же процесс конструирования мог создавать разные представления.
Принцип работы:
- Создается отдельный класс Builder, который содержит методы для установки различных параметров объекта.
- Каждый метод возвращает сам Builder, что позволяет вызывать методы цепочкой (fluent interface).
- В конце вызывается метод build(), который возвращает готовый объект.
Это удобно, когда у объекта много параметров, и конструктор с большим количеством аргументов становится неудобным.
Пример на Java:
public class User {
private String name;
private int age;
private String email;
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 setName(String name) {
this.name = name;
return this;
}
public Builder setAge(int age) {
this.age = age;
return this;
}
public Builder setEmail(String email) {
this.email = email;
return this;
}
public User build() {
return new User(this);
}
}
}
// Использование:
User user = new User.Builder()
.setName("Иван")
.setAge(30)
.setEmail("ivan@example.com")
.build();