Встречается на собеседованиях • сегодня

Что такое паттерн Стратегия (Strategy)

Паттерн Стратегия позволяет определять семейство алгоритмов, инкапсулировать каждый из них и делать их взаимозаменяемыми. Он позволяет изменять алгоритмы независимо от клиента, который их использует.

Пример:

java
interface PaymentStrategy {
    void pay(int amount);
}

class CreditCardPayment implements PaymentStrategy {
    public void pay(int amount) {
        System.out.println("Paid " + amount + " via Credit Card");
    }
}

class PayPalPayment implements PaymentStrategy {
public void pay(int amount) {
System.out.println("Paid " + amount + " via PayPal");
}
}

class ShoppingCart {
private PaymentStrategy strategy;

text
public void setStrategy(PaymentStrategy strategy) {
    this.strategy = strategy;
}

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

}

text
Основные преимущества:
- Избегание условных операторов
- Возможность динамической смены алгоритмов
- Соблюдение принципа открытости/закрытости

Применяется, когда нужно варьировать поведение объекта во время выполнения или когда есть несколько похожих классов, отличающихся только поведением.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы