Цепочка обязанностей (Chain of Responsibility) — различия между версиями
Admin (обсуждение | вклад) (→Описание) |
Admin (обсуждение | вклад) (→Описание) |
||
Строка 8: | Строка 8: | ||
Имеется цепочка объектов, каждый хранит ссылку на следующий объект (как правило, объект более верхнего уровня) | Имеется цепочка объектов, каждый хранит ссылку на следующий объект (как правило, объект более верхнего уровня) | ||
Запрос перемещается по цепочке объектов вверх пока один из них не обработает этот запрос. | Запрос перемещается по цепочке объектов вверх пока один из них не обработает этот запрос. | ||
+ | У объекта, отправившего запрос на обработку, отсутствует информацияо том, какой объект в цепочке обработает запрос. | ||
Пример: докладная пишется непосредственному начальнику, он либо реагирует на нее, либо передает по иерархии вверх своему непосредственному начальнику и т.д. | Пример: докладная пишется непосредственному начальнику, он либо реагирует на нее, либо передает по иерархии вверх своему непосредственному начальнику и т.д. |
Версия 07:53, 1 августа 2014
Другое название
Назначение
Некий запрос должен быть обработан в цепочке взаимосвязанных объектов (список, дерево - движение от листьев к корню). Объект либо обрабатывает запрос, либо передвает по цепочке следующему объекту. Если ни один из объектов не обработал запрос, то может происходить какое-то действие.
Описание
Имеется цепочка объектов, каждый хранит ссылку на следующий объект (как правило, объект более верхнего уровня) Запрос перемещается по цепочке объектов вверх пока один из них не обработает этот запрос. У объекта, отправившего запрос на обработку, отсутствует информацияо том, какой объект в цепочке обработает запрос.
Пример: докладная пишется непосредственному начальнику, он либо реагирует на нее, либо передает по иерархии вверх своему непосредственному начальнику и т.д.