Cadeia de Resposibilidade dos padrões de Design Versus decorador

Como o padrão da cadeia de Responsabilidade difere do padrão do decorador..?

Author: Mind Dead, 2010-09-15

2 answers

Eu geralmente penso no decorador como "adicionar" a alguma coisa, onde como cadeia de responsabilidade é mais como lidar com algo. Ao comparar os dois padrões (além de serem maçãs e laranjas) a maior diferença é que a cadeia de Responsabilidade pode matar a cadeia em qualquer momento.

Pensem nos decoradores como uma unidade em camadas na qual cada camada faz sempre Pré/Pós-processamento. Cadeia de responsabilidade é mais como uma lista vinculada, e geralmente 1 coisa lida processamento.

O padrão da cadeia de Responsabilidade permite que múltiplas coisas lidem com um evento, mas também lhes dá a oportunidade de terminar a cadeia em qualquer momento.

 9
Author: Nix, 2010-09-15 20:03:18

Cenário:

Pense num pedido de serviço (normalmente acesso administrativo ao seu portátil ), que precisa de ser aprovado pelo seu gerente, Director e vice-presidente. Neste caso, o padrão do decorador agiria apenas como se em cada nível haveria apenas Comentários de cada um deles e finalmente você começaria uma saída. Assim, o Gerente diria "aprovado e encaminhado", Simlarly Diretor "aprovado e encaminhado" e finalmente VP "aprovado". E a sua saída final seria a combinação de todos os 3 comentario.

Nota: a cadeia não vai quebrar, não importa se o seu pedido foi aprovado ou desaprovado.

Na cadeia de responsabilidade, em cada fase a pessoa tem a Autoridade de aprovar ou rejeitar. E se em qualquer nível o pedido é rejeitado, então o seu pedido não prossegue para o próximo nível, em vez disso, apenas termina com o resultado. Espero que isto ajude:)

 5
Author: RDX, 2016-01-11 11:54:46