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

Можешь назвать и объяснить использование паттерна Builder в языке Java?

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

sobes.tech AI

Паттерн Builder в Java используется для поэтапного создания сложных объектов, особенно когда конструктор с множеством параметров становится неудобным или нечитабельным. Он позволяет создавать объект, вызывая цепочку методов, каждый из которых устанавливает определённое свойство, и в конце вызывается метод build(), который возвращает готовый объект.

Преимущества:

  • Улучшает читаемость кода
  • Позволяет создавать неизменяемые объекты
  • Избегает конструктора с длинным списком параметров

Пример:

public class User {
    private final String firstName;
    private final String lastName;
    private final int age;

    private User(Builder builder) {
        this.firstName = builder.firstName;
        this.lastName = builder.lastName;
        this.age = builder.age;
    }

    public static class Builder {
        private String firstName;
        private String lastName;
        private int age;

        public Builder setFirstName(String firstName) {
            this.firstName = firstName;
            return this;
        }

        public Builder setLastName(String lastName) {
            this.lastName = lastName;
            return this;
        }

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

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

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

Таким образом, Builder упрощает создание объектов с множеством параметров и делает код более поддерживаемым.