Olá Rodrigo, beleza?
Quanto a instanciação dos descontos, se tivermos N tipos de descontos, não ficaria 'massante' passar para cada um os próximos descontos(Teríamos N métodos construtores recebendo o próximo desconto) ? Teria uma outra forma de encadear os descontos ou o padrão é dessa forma mesmo?
Obrigado