Поведенческие паттерны проектирования описывают взаимодействие между объектами и распределение обязанностей. Они фокусируются на алгоритмах и назначении ответственности между объектами.
Основные поведенческие паттерны:
- Цепочка обязанностей (Chain of Responsibility): Передача запроса по цепочке обработчиков. Каждый обработчик решает, обрабатывать ли запрос или передать его дальше.
- Команда (Command): Инкапсулирует запрос на выполнение определенного действия как объект, позволяя параметризировать клиентов различными запросами, ставить запросы в очередь или протоколировать их, а также поддерживать отмену операций.
- Итератор (Iterator): Предоставляет последовательный доступ к элементам составного объекта, не раскрывая его внутреннего представления.
- Посредник (Mediator): Определяет объект, инкапсулирующий взаимодействие между множеством объектов. Посредник способствует слабой связанности, избавляя объекты от необходимости явно ссылаться друг на друга.
- Хранитель (Memento): Позволяет без нарушения инкапсуляции сохранить и восстановить внешнее состояние объекта.
- Наблюдатель (Observer): Определяет зависимость "один-ко-многим" между объектами. При изменении состояния одного объекта все зависимые от него объекты оповещаются и автоматически обновляются.
- Состояние (State): Позволяет объекту изменять свое поведение в зависимости от внутреннего состояния. Объект как будто меняет свой класс.
- Стратегия (Strategy): Определяет семейство алгоритмов, инкапсулирует ка