Sobes.tech
Назад к вопросам
Junior — Middle
62

Какую задачу решает паттерн Builder в процессе построения объектов?

Ответ от нейросети

sobes.tech AI

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

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

Пример на Java:

public class User {
    private String name;
    private int age;
    private String address;

    private User(Builder builder) {
        this.name = builder.name;
        this.age = builder.age;
        this.address = builder.address;
    }

    public static class Builder {
        private String name;
        private int age;
        private String address;

        public Builder setName(String name) {
            this.name = name;
            return this;
        }

        public Builder setAge(int age) {
            this.age = age;
            return this;
        }

        public Builder setAddress(String address) {
            this.address = address;
            return this;
        }

        public User build() {
            return new User(this);
        }
    }
}

// Использование:
User user = new User.Builder()
                .setName("Иван")
                .setAge(30)
                .setAddress("Москва")
                .build();

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