Sobes.tech
Back to questions
Junior — Middle
59

Какое назначение у паттерна Builder в разработке программного обеспечения?

Answer from AI

sobes.tech AI

Паттерн Builder используется для поэтапного создания сложного объекта. Его основное назначение — отделить процесс конструирования объекта от его представления, чтобы один и тот же процесс мог создавать разные представления.

Это полезно, когда объект имеет много параметров или сложную структуру, и создание его напрямую через конструктор неудобно или запутанно.

Пример на Java:

class Car {
    private String engine;
    private int wheels;
    private String color;
    // сеттеры и геттеры
}

class CarBuilder {
    private Car car = new Car();

    public CarBuilder setEngine(String engine) {
        car.setEngine(engine);
        return this;
    }

    public CarBuilder setWheels(int wheels) {
        car.setWheels(wheels);
        return this;
    }

    public CarBuilder setColor(String color) {
        car.setColor(color);
        return this;
    }

    public Car build() {
        return car;
    }
}

// Использование:
Car car = new CarBuilder()
    .setEngine("V8")
    .setWheels(4)
    .setColor("Red")
    .build();

Такой подход улучшает читаемость кода и облегчает создание объектов с множеством параметров.