Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Qual a principal diferença entre Decorator e Chain Of Resposability?

No Chain of Responsability podemos compor comportamentos (no caso pelo método setProximo do contrato) e criar uma cadeia de objetos, onde também é possível criar uma cadeia de objetos pelo Decorator (via construtor).

Portanto qual a principal diferença?

3 respostas
solução!

Boa pergunta Edinei :)

Muitas vezes podemos aplicar mais do que um padrão para resolver um problema de design e as diferenças são sutis.

Alias, fazendo uma pesquisa rápida, você não é o único com essa dúvida:

http://stackoverflow.com/questions/3721256/design-patterns-chain-of-resposibility-vs-decorator

http://stackoverflow.com/questions/747913/why-would-i-ever-use-a-chain-of-responsibility-over-a-decorator

http://www.coderanch.com/t/155031/java-Architect-SCEA/certification/Confusion-Chain-responsibility-Decorator-Pattern

Para mim a principal diferença é que o chain of responsibility oferece uma forma de controlar de fluxo e o decorator não.

espero ter ajudado!

abs

Entendido ;) Muito obrigado Nico !!!

Para mim a principal diferença é que no Chain of Responsability a cadeia dos comportamentos aninhando é exclusiva: Você só chama o comportamento da próxima classe se não puder aplicar o comportamento da classe atual.

Já no Decorator, todos os comportamentos da cadeia serão executados.