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

Можешь назвать некоторые паттерны проектирования, помимо Singleton?

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

sobes.tech AI

Помимо Singleton, существуют множество других паттернов проектирования, которые помогают решать типичные задачи разработки:

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

Пример использования паттерна Strategy:

interface PaymentStrategy {
    void pay(int amount);
}

class CreditCardPayment implements PaymentStrategy {
    public void pay(int amount) {
        System.out.println("Оплата " + amount + " с кредитной карты");
    }
}

class PayPalPayment implements PaymentStrategy {
    public void pay(int amount) {
        System.out.println("Оплата " + amount + " через PayPal");
    }
}

class ShoppingCart {
    private PaymentStrategy paymentStrategy;

    public void setPaymentStrategy(PaymentStrategy strategy) {
        this.paymentStrategy = strategy;
    }

    public void checkout(int amount) {
        paymentStrategy.pay(amount);
    }
}