Sobes.tech
Junior — Middle
65

Какой у вас опыт работы с использованием шаблонов в программировании?

Companies where asked
СБЕРСБЕР
ТранснефтьТранснефть
Prime

Answer from AI

sobes.tech AI

В программировании шаблоны (patterns) — это повторно используемые решения типичных задач проектирования. В Java часто используются шаблоны проектирования (design patterns), такие как Singleton, Factory, Observer, Strategy и др.

Мой опыт включает:

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

Пример использования шаблона 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("Оплата через PayPal: " + amount);
    }
}

class ShoppingCart {
    private PaymentStrategy paymentStrategy;

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

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

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