Цепочка обязанностей () — поведенческий шаблон проектирования, предназначенный для организации в системе уровней ответственности.

Применение Позволяет избежать привязки отправителя запроса к получателю и позволяет обработать запрос нескольким объектам. Запрос передается по цепочки пока не будет обработан.

Шаблон рекомендован для использования в условиях: в разрабатываемой системе имеется группа объектов, которые могут обрабатывать сообщения определенного типа; все сообщения должны быть обработаны хотя бы одним объектом системы; сообщения в системе обрабатываются по схеме «обработай сам либо перешли другому», то есть одни сообщения обрабатываются на том уровне, где они получены, а другие пересылаются объектам иного уровня.

Примеры

Пример на Swift

Пример на PHP 5

Пример на Java

Пример на C#

Пример на C++

Пример на Python

Ссылки Паттерн Chain of Responsibility (цепочка обязанностей) — назначение, описание, особенности и реализация на C++.

Примечания

Категория:Шаблоны проектирования