Назад к вопросам
Junior — Middle
68
Какие причины делают применение паттерна Builder оправданным?
Ответ от нейросети
sobes.tech AI
Паттерн Builder оправдан в следующих случаях:
- Когда объект сложный и имеет много параметров, особенно если некоторые из них необязательны.
- Если нужно создавать разные вариации объекта с похожей структурой.
- Чтобы избежать конструктора с длинным списком параметров (телефонный код), что улучшает читаемость и поддержку кода.
- Для поэтапного построения объекта, где порядок установки параметров важен или параметры зависят друг от друга.
Пример на Java:
public class Computer {
private String CPU;
private int RAM;
private int storage;
private Computer(Builder builder) {
this.CPU = builder.CPU;
this.RAM = builder.RAM;
this.storage = builder.storage;
}
public static class Builder {
private String CPU;
private int RAM;
private int storage;
public Builder setCPU(String CPU) {
this.CPU = CPU;
return this;
}
public Builder setRAM(int RAM) {
this.RAM = RAM;
return this;
}
public Builder setStorage(int storage) {
this.storage = storage;
return this;
}
public Computer build() {
return new Computer(this);
}
}
}
// Использование:
Computer pc = new Computer.Builder()
.setCPU("Intel i7")
.setRAM(16)
.setStorage(512)
.build();
Такой подход улучшает читаемость и гибкость создания объектов.