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 ?
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 ?
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!