Встречается на собеседованиях • сегодня
Что такое паттерн Стратегия (Strategy)
Паттерн Стратегия — это поведенческий паттерн проектирования, который позволяет определять семейство алгоритмов, инкапсулировать каждый из них и делать их взаимозаменяемыми. Позволяет изменять алгоритмы независимо от клиента, который их использует.
Пример на Python:
python
from abc import ABC, abstractmethod
class Strategy(ABC):
@abstractmethod
def execute(self, a, b):
pass
class AddStrategy(Strategy):
def execute(self, a, b):
return a + b
class SubtractStrategy(Strategy):
def execute(self, a, b):
return a - b
class Context:
def init(self, strategy: Strategy):
self._strategy = strategy
text
def execute_strategy(self, a, b):
return self._strategy.execute(a, b)Использование
context = Context(AddStrategy())
print(context.execute_strategy(5, 3)) # 8
context._strategy = SubtractStrategy()
print(context.execute_strategy(5, 3)) # 2
text
**Преимущества:**
- Избегание условных операторов (if/else)
- Легкость добавления новых стратегий
- Возможность динамической смены алгоритмов
**Применение:** Когда нужно использовать разные варианты одного алгоритма или когда есть множество похожих классов, отличающихся только поведением.
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы