Olá Guj’s!
Uma coisa que sempre me faz fritar os neurônios de tempos em tempos é a validação dos dados enviados pela aplicação cliente para a camada de serviço.
Por exemplo, hoje andei pensando em criar uma espécie de camada de validação utilizando um interceptor ou proxy do Spring. De acordo com minha imaginação, uma validação utilizando proxy seria mais ou menos assim:
AlunoServiceImpl (me preocupo apenas com a lógica de negócio)
public class AlunoServiceImpl implements AlunoService {
private AlunoReposiory alunoReposiory;
public Aluno criaAluno(Aluno aluno) {
Aluno alunoCriado = alunoReposiory.cria(aluno);
return alunoCriado;
}
// ....
}
AlunoValidationImpl (me preocupo apenas com a validação)
public class AlunoServiceImpl implements AlunoService {
private AlunoReposiory alunoReposiory;
public Aluno criaAluno(Aluno aluno) {
AlunoValidate.validate(aluno); // é só um exemplo, supondo que eu esteja usando um framework de validação
if (alunoReposiory.jaExiste(aluno)) {
throw new DuplicateEntityException();
}
return aluno;
}
// ....
}
Bom, é só uma idéia. Tem alguma solução melhor para lidar com as validações?
Thanks!
A única diferença é que estou pensando em usar interceptors do spring. Algo que também achei legal no que você postou foi a possibilidade de usar o Proxy que vem com o próprio jdk. Essa pra mim é nova!