Pessoal, desenvolvi uma aplicação para servir de modelo utilizando Spring, JSF, Hibernate. Achei que a arquitetura que eu utilizei é muito complexa e gostaria de uma ajuda do pessoal para simplificar o que desenvolvi.
Criei meus Beans e seus Annotations
Criei uma Interface DAO e depois a implementação da minha Interface, no caso criei um DAO para cada Classe acredito que criar uma Interface Genérica com o CRUD seja mais inteligente.
Criei uma Interface para minha classe Service e depois a implementação da minha classe Interface
Criei uma Classe que é a acessada pela minha pagina JSF e seus objetos.
Achei essa arquitetura muito complexa e inchada, alguém possui alguma sugestão do que posso melhorar ?
Rpz, concordo com o que o cara aí disse, esse DAO tá sobrando, qunado se trabalho com hibernate eu acho que o DAO perde o sentido, por o hibernate que faz o papel do DAO.
Esta questao de utilizar ou nao o DAo é algo que muitos descutem. Eu particulamente, acho melhor utilizar, pois facilita ate mesmo pra fazer testes em objetos na memoria.
Mas a questão é se você usar o DAO vai perder boa parte das funcionalidades que o Hibernate ou JPA prove, caso nao use estara deixando seu sistema menos flexivel,pois todo o seu sistema estará FORTEMENTE ACOPLADO a infraestrutura, neste caso o Mecanismo de ORM, pois vc vai espalhar todo o acesso ao EntityManagem pelo seu codigo.
Mas fica a seu criterio, melhor mesmo seria analisa com calma, pois um projeto nunca é pequeno, é apenas uma forma de melhor visualizar e analisar as melhores formas de resolver grandes problemas.