Встречается на собеседованиях • сегодня
Что такое паттерн Стратегия (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
Основные преимущества:
- Избегание условных операторов
- Возможность динамической смены алгоритмов
- Соблюдение принципа открытости/закрытости
Применяется, когда нужно варьировать поведение объекта во время выполнения или когда есть несколько похожих классов, отличающихся только поведением.
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы