Встречается на собеседованиях • сегодня
Какие знаешь поведенческие паттерны проектирования
Поведенческие паттерны решают задачи эффективного взаимодействия объектов. Основные из них:
- Chain of Responsibility – передача запроса по цепочке обработчиков.
python
class Handler:
def __init__(self, successor=None):
self._successor = successor
def handle(self, request):
if self._successor:
self._successor.handle(request)- Command – инкапсуляция запроса в объект.
python
class Command:
def execute(self): pass
class LightOnCommand(Command):
def execute(self):
print("Light is ON")- Iterator – последовательный доступ к элементам коллекции.
python
class Iterator:
def __next__(self): pass
class ListIterator(Iterator):
def __next__(self):
# реализация- Observer – подписка на события.
python
class Subject:
def __init__(self):
self._observers = []
def notify(self):
for observer in self._observers:
observer.update()- Strategy – выбор алгоритма во время выполнения.
python
class Strategy:
def execute(self): pass
class FastStrategy(Strategy):
def execute(self):
print("Fast execution")- State – изменение поведения при изменении состояния.
python
class State:
def handle(self): pass
class ConcreteStateA(State):
def handle(self):
print("State A handling")- Visitor – добавление операций без изменения классов.
python
class Visitor:
def visit(self, element): pass
class ConcreteVisitor(Visitor):
def visit(self, element):
element.accept(self)Также существуют: Mediator, Memento, Template Method, Interpreter. Паттерны помогают сделать код гибким и расширяемым.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы