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:

  • Handler :
  • ConcreteHandler :
  • Client :
  • 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:

    Chain Of Responsability

    Ver código fonte no Github