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

Каково назначение и принцип работы паттерна Builder в программировании?

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

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();