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

Outra implementação

Poderia cria uma interface TipoDeDesconto e conforme surgisse novas estratégias de desconto ela implementaria TipoDeDesconto.


public interface TipoDeDesconto {
    Money getValor(Money subtotal);
}

public class CupomDeDesconto implements TipoDeDesconto {
    @Override
    public Money getValor(Money subtotal){
        ...
    }
}

public class Fidelidade implements TipoDeDesconto {
    @Override
    public Money getValor(Money subtotal){
        ...
    }
}

1 resposta
solução!

Boa tarde, Geraldo! Como vai?

É isso aí! Muitas vezes na programação um mesmo problema admite mais de uma solução! Agora é seguir em frente rumo à luz do conhecimento!

Grande abraço e bons estudos, meu aluno!