Ainda não tem acesso? Estude com a gente! Matricule-se
Ainda não tem acesso? Estude com a gente! Matricule-se

Solucionado (ver solução)

Decorator x Chains of responsability

Olhando os padrões Decorator e Chains of responsability, a uma primeira vista achei os dois idênticos. Qual a diferença entre eles?

1 resposta
solução

Olá, Arnaldo. Tudo bom?

Com Decorators, estamos adicionando uma nova funcionalidade/comportamento em alguma coisa, enquanto que, com Chains of Responsability, temos uma sequência de manipuladores sobre um evento.

A implementação correta do Decorator é aquela em que toda a cadeia de chamadas é executada. Como o exemplo do curso, onde um imposto é calculado sobre o valor de outro.

No exemplo dado com Chains of Responsability, podemos notar que há uma interrupção na cadeia de chamadas: quando existe uma condição de orçamento que dá match no tipo de desconto, os próximos itens da cadeia não são chamados, afinal, o processamento daquela informação já atingiu o manipulador correto!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software