Цепочка обязанностей (Chain of Responsibility)

Материал из Вики ИТ мехмата ЮФУ
Версия от 07:51, 1 августа 2014; Admin (обсуждение | вклад) (Описание)

Перейти к: навигация, поиск

К основной странице курса

Другое название

Назначение

Некий запрос должен быть обработан в цепочке взаимосвязанных объектов (список, дерево - движение от листьев к корню). Объект либо обрабатывает запрос, либо передвает по цепочке следующему объекту. Если ни один из объектов не обработал запрос, то может происходить какое-то действие.

Описание

Имеется цепочка объектов, каждый хранит ссылку на следующий объект (как правило, объект более верхнего уровня) Запрос перемещается по цепочке объектов вверх пока один из них не обработает этот запрос.

Пример: докладная пишется непосредственному начальнику, он либо реагирует на нее, либо передает по иерархии вверх своему непосредственному начальнику и т.д.

Реализация

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

Файл:Common.png

Участники

Пример

Достоинства и недостатки

Варианты