Sobes.tech
Назад к вопросам
Senior
9

Расскажите про паттерны проектирования, которые использовали в проекте

Компании, где спрашивали
СБЕРСБЕР

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

sobes.tech AI

В проектах на Java часто использую следующие паттерны проектирования:

  • Singleton — для создания единственного экземпляра класса, например, для менеджера конфигураций или пула соединений.
  • Factory Method — для создания объектов без жесткой привязки к конкретным классам, что облегчает расширяемость.
  • Builder — для удобного и безопасного построения сложных объектов с множеством параметров.
  • Decorator — для динамического добавления функциональности объектам без изменения их кода.
  • Observer — для реализации событийной модели, например, при подписке на изменения состояния.
  • Strategy — для выбора алгоритма поведения во время выполнения.

Пример использования Builder для создания объекта:

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

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

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

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

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

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

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