Middle
39
questionbank

Перечислите паттерны, относящиеся к поведенческим.

Получайте ответы на вопросы в реальном времени с Sobes Copilot
Ответ от нейросети sobes.tech
  • Chain of Responsibility (Цепочка обязанностей): Передача запросов последовательно по цепочке обработчиков. Каждый обработчик либо обрабатывает запрос, либо передает его следующему.

  • Command (Команда): Представление запроса в виде объекта, что позволяет параметризовать клиентов различными запросами, ставить запросы в очередь, логировать их, а также поддерживать отмену операций.

  • Iterator (Итератор): Предоставление способа последовательного доступа ко всем элементам составного объекта, не раскрывая его внутреннего представления.

  • Mediator (Посредник): Определение объекта, который инкапсулирует взаимодействие между набором объектов. Посредством устранения прямой связи между отправителем и получателем, паттерн способствует уменьшению связанных друг с другом классов.

  • Memento (Хранитель): Не нарушая инкапсуляции, фиксирование и внешнее извлечение внутреннего состояния объекта с тем, чтобы впоследствии можно было восстановить в нём это состояние.

  • Observer (Наблюдатель): Определение зависимости типа «один ко многим» между объектами таким образом, что при изменении состояния одного объекта все зависящие от него оповещаются об этом и обновляются автоматически.

  • State (Состояние): Позволение объекту изменять свое поведение в зависимости от своего внутреннего состояния. Внешне объект может выглядеть так, будто изменился его класс.

  • Strategy (Стратегия): Определение семейства алгоритмов, инкапсуляция каждого из них и их взаимозаменяемость. Паттерн позволяет менять алгоритмы независимо от клиентов, которые их используют.

  • Template Method (Шаблонный метод): Определение каркаса алгоритма в операции, оставляя шаги алгоритма на откуп подклассам. Шаблонный метод позволяет подклассам переопределять некоторые шаги алгоритма без изменения его общей структуры.

  • Visitor (Посетитель): Представление операции, которая должна быть выполнена над элементами структуры объектов. Visitor позволяет определить новую операцию без изменения классов элементов, над которыми она оперируется.