Chain Of Responsability
Descrição:
A intenção deste padrão de projeto é evitar o acoplamento do remetente de uma solicitação ao seu receptor, ao dar a mais de um objeto a oportunidade de se tratar dessa solicitação. Encadear os objetos receptores, passando a solicitação ao longo da cadeia até que um objeto a trate.
Descrição da UML:
- - define uma interface para o gerenciamento de pedidos.
- - lida com pedidos de responsabilidade.
- - inicia o pedido para um objeto ConcreteHandler na cadeia.
Diagrama de Classes genérico do padrão:

Exemplo:
O exemplo mostrado no livro, é sobre a implementação de uma IA usando o padrão de projeto chain of responsability. Em que o objetivo é implementar detectores, para identificar se um e-mail que foi recebido, é um spam, é um correio de fã, uma queixa ou um pedido.
Diagrama de Classes do exemplo:

