Chain of Responsibility PSS – Design Pattern Chain of Responsibility
Chain of Responsibility Propósito do Padrão Evitar acoplamento do emissor de uma requisição com seu receptor; Cadeia de objetos atende solicitação
Chain of Responsibility Motivação Desacoplar emissores e receptores dando a chance de vários objetos manipularem a requisição;
Chain of Responsibility Aplicação Mais de um objeto (desconhecido pelo emissor) pode tratar uma solicitação; Alguém que fazer um pedido para dentre vários objetos sem especificá-lo. Os objetos que podem manipular uma solicitação seriam especificados manualmente.
Chain of Responsibility Estrutura
Chain of Responsibility Participantes Handler Define a interface para receber as solicitações; Implementa o link para o sucessor (opcional) ConcreteHandler Recebe as solicitações pelas quais é responsável; Tem acesso ao sucessor para quem envias as solicitações que não são de sua responsabilidade Client Inicia a solicitação para um objeto na cadeia
Chain of Responsibility Colaborações Quando um cliente faz uma solicitação, o pedido se propaga pela cadeia até que algum objeto assuma a responsabilidade de atender
Chain of Responsibility Conseqüências Reduz o acoplamento; Atribuindo responsabilidade aos objetos, adiciona-se flexibilidade; A recepção da solicitação não é garantida
Chain of Responsibility Exemplos de Código Implementação do FilterCriteria
Chain of Responsibility Exemplos de Código Adicionando o FilterCriteria no CollectionFilter Filtrando
Fim Daniel Salles Chevitarese daniel@chevitarese.com.br