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

Estou com dúvida no curso de Design Patterns para bons programadores, no exercício 2 do capítulo Estados que variam e o State.

Não seria melhor deixar o controle de desconto já aplicado na classe Orcamento? Pois assim se adicionarmos outros estados não precisaríamos realizar alterações, o bloqueio continuaria funcionando.

1 resposta
solução!

O problema de você deixar o controle do desconto na classe de Orçamento significa dizer que o desconto é vinculado ao orçamento em geral.

É necessário que o desconto esteja na estratégia correta. Veja que cada estado possui um valor diferente de desconto. Se você colocar na Orçamento, você vai ter que verificar o código de qualquer jeito, só que dessa vez vai verificar qual é o estado para aplicar a taxa de desconto correta.