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

Utilizar composição e testes para cada tipo de desempenho nesse caso, seria uma boa prática?



public class ReajusteService {
    public void concederReajuste(Funcionario funcionario, Desempenho desempenho) {
        if(desempenho == Desempenho.A_DESEJAR) {
            BigDecimal reajuste = funcionario.getSalario().multiply(new BigDecimal("0.03"));
            funcionario.reajustarSalario(reajuste);
        } else if(desempenho == Desempenho.BOM) {
            BigDecimal reajuste = funcionario.getSalario().multiply(new BigDecimal("0.15"));
            funcionario.reajustarSalario(reajuste);    
        } else if(desempenho == Desempenho.OTIMO) {
            BigDecimal reajuste = funcionario.getSalario().multiply(new BigDecimal("0.20"));
            funcionario.reajustarSalario(reajuste);    
        }
    }
}

Pensando num futuro, onde a empresa queira implementar outros tipos de Desempenho, como exemplo: RUIM, PESSIMO, EXCELENTE. Nosso método vai começar a ficar grande, pensar em desmembrar cada um desses desempenhos, criando uma interface com o método concederReajuste e criar uma classe para cada tipo de desempenho, e implementar cada um a sua maneira, e criar uma classe de teste para cada tipo de desempenho também, seria uma boa prática de desenvolvimento???

1 resposta
solução!

Desculpe pelo post, vendo a próxima aula, respondeu minha pergunta