Seria possivel usar lambdas para calcular todos os tipos de impostos que implementam a interface impostos ?
Tentei criar algo mas não consegui e me surgiu essa duvida
public class Execute {
private List<Imposto> lista;
public Execute(List<Imposto> lista) {
this.lista = lista;
}
public static void main(String[] args) {
Orcamento orcamento = new Orcamento(new BigDecimal(100));
CalculadoraDeImpostos calculadoraDeImpostos = new CalculadoraDeImpostos();
Object resultado = this.lista.forEach(imposto -> imposto.calcular(orcamento));
// transformar objeto em lista
// ler a lista
}
}
No curso de SOLID foi feito algo parecido o exemplo acima
public class ReajusteService {
private List<ValidacaoReajuste> validacoes;
public ReajusteService(List<ValidacaoReajuste> validacoes) {
this.validacoes = validacoes;
}
public void reajusteSalarioDoFuncionario(Funcionario funcionario, BigDecimal aumento) {
this.validacoes.forEach(validacaoReajuste -> validacaoReajuste.validar(funcionario, aumento));
BigDecimal salarioAjustado = funcionario.getSalario().add(aumento);
funcionario.atualizarSalario(salarioAjustado);
}
}