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

Como instanciar o validacaoService.

No caso para conseguir chamar o reajusteService e utilizar o método reajustarSalarioDoFuncionario eu teria que criar uma lista contendo todas as validações? Por exemplo:

List <ValidacaoDeReajustes> validacoes = new ArrayList<>();
        ValidacaoDeReajustePorPeriodicidade validacao1 = new ValidacaoDeReajustePorPeriodicidade();
        ValidacaoDeReajustePorPorcentagem validacao2 = new ValidacaoDeReajustePorPorcentagem();
        validacoes.add(validacao1);
        validacoes.add(validacao2);

        ReajusteService reajusteService = new ReajusteService(validacoes);

Se for o caso, tem algum método mais elegante de fazer?

1 resposta
solução!

Oi Lucas,

No curso vimos os principios em java puro, sem utilizacao de bibliotecas e frameworks, entao seria algo desse jeito mesmo:

List<ValidacaoDeReajustes> validacoes = Arrays.asList(
    new ValidacaoDeReajustePorPeriodicidade(), 
    new ValidacaoDeReajustePorPorcentagem()
);

Mas em um projeto real é bem provavel que se utilize algum framework que tenha o recuso de injecao de dependencias, sendo mais facil entao obter todas as instancias.

Exemplo utilizando o Spring:

@Service
public class ReajusteService {

    @Autowired
    private List<ValidacaoDeReajustes> validacoes;

    //metdos...

}

Bons estudos!