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

Можешь перечислить и описать основные методы внедрения шаблонов проектирования в код?

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

sobes.tech AI

Основные методы внедрения шаблонов проектирования в Java-код:

  • Наследование и полиморфизм — часто шаблоны используют абстрактные классы или интерфейсы, чтобы определить общий контракт, а конкретные реализации наследуют и переопределяют методы.

  • Композиция — вместо наследования объекты включают в себя другие объекты, реализующие нужное поведение (например, паттерн Стратегия).

  • Использование интерфейсов и абстрактных классов — для определения общих методов и обеспечения гибкости.

  • Фабричные методы и паттерны создания объектов — для управления созданием объектов через специальные методы или классы (например, Фабрика, Строитель).

  • Делегирование — передача вызовов другим объектам для разделения ответственности.

Пример внедрения паттерна Стратегия:

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("Оплата через PayPal: " + amount);
    }
}

class ShoppingCart {
    private PaymentStrategy paymentStrategy;

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

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

Такой подход позволяет менять поведение во время выполнения без изменения кода клиента.