Sobes.tech
Junior — Middle

Quelle est la finalité et le principe de fonctionnement du pattern Builder en programmation?

sobes.tech IA

Réponse de l'IA

Паттерн 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();