1
resposta

[Dúvida] Ainda é possível ajustar os salário sem validações

Só fiquei curioso nas possíveis soluções para reverter a fragilidade gerada, pois o método "atualizarSalario" pode ser chamado sem passar pelo "ReajusteService". Quais a soluções possíveis neste caso? Hoje já tive situações parecidas que é, as validações de inserção ou update estão no CrudService de uma entidade, mas nada impede que seja chamado diretamente o repository em outro local, chamando um save. Como podemos tratar estas situações? Hoje temos o private package, mas depende da estrutura do projeto para funcionar.

1 resposta

Olá Gabriel,

Entendo sua preocupação em relação às possíveis soluções para reverter a fragilidade gerada no método "atualizarSalario". Realmente, é importante garantir que todas as validações necessárias sejam realizadas antes de atualizar o salário de um funcionário.

Uma possível solução seria utilizar a injeção de dependência para garantir que o método "atualizarSalario" só possa ser chamado após a validação ser realizada pelo "ReajusteService". Dessa forma, o método "atualizarSalario" só seria acessível a partir do "ReajusteService", evitando que ele seja chamado diretamente de outro local.

Outra solução seria utilizar o padrão de projeto Proxy, que permite controlar o acesso a um objeto. Nesse caso, seria possível criar um proxy para o objeto "FuncionarioService" e garantir que o método "atualizarSalario" só possa ser chamado após a validação ser realizada pelo "ReajusteService".

Espero ter ajudado com essas sugestões. Caso tenha alguma dúvida, fique à vontade para perguntar.

Bons estudos!