Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Posso utilizar Strategy nesse exemplo do desconto?

Olá, fiquei na dúvida se esse exemplo do desconto pode ser resolvido também com o strategy. Se sim, nesse caso, a manutenção melhora ?

1 resposta
solução!

Oi Jamil, tudo bom? =)

O strategy lida com interfaces, mas não necessariamente em cadeia.

O Chain of Responsability tem um comportamento recursivo bem característico. Isso ajuda bastante no caso dos descontos porque temos esse mesmo comportamento quando precisamos descobrir qual desconto se aplica em um caso.

Repara que um resolve bem um switch case (Strategy) e o outro resolve recursividades para tomada de decisão (Chain).

Claro é possível usar o Strategy para calculo de impostos mas você teria que lidar, com certeza, com mais ifs/fors no seu código o que acaba prejudicando a manutenibilidade do sistema =)

Abraço!

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