1 of 8

Chain of Responsibility

Цепочка обязанностей

2 of 8

Проблема

Реализовать механизм обработки запросов.

3 of 8

Пример

Система логирования для интернет магазина.

Event

4 of 8

Цепочка обязанностей

  • Каждый обработчик - отдельный класс
  • Объект содержит ссылку на другой обработчик
  • Обработчики образуют цепочку

5 of 8

Диаграмма классов

6 of 8

Плюсы

  • Расширяемость и гибкость

  • Один запрос могут обработать несколько объектов, либо не один

  • Слабая связность

  • Изменение поведения во время выполнения

7 of 8

Минусы

  • Сложно предсказать поведение системы

8 of 8