Поведенческие паттерны проектирования

Добавлено 7 мая 2022 в 18:04

Список поведенческих паттернов проектирования, которые решают задачи эффективного и безопасного взаимодействия между объектами программы.

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

Теги

Банда четырех / Gang of Four / GoFПаттерн Итератор (Iterator)Паттерн Команда (Command)Паттерн Наблюдатель (Observer)Паттерн Посетитель (Visitor)Паттерн Посредник (Mediator)Паттерн Снимок (Memento)Паттерн Стратегия (Strategy)Паттерн Цепочка обязанностей (Chain of Responsibility)Паттерны проектирования / Design PatternsПоведенческие паттерныПрограммирование

На сайте работает сервис комментирования DISQUS, который позволяет вам оставлять комментарии на множестве сайтов, имея лишь один аккаунт на Disqus.com.

В случае комментирования в качестве гостя (без регистрации на disqus.com) для публикации комментария требуется время на премодерацию.