Minha pergunta basicamente é: usando struts + hibernate, onde coloco meus métodos de negócio? Sei que não devo colocar no Action, nem nos beans, e muito menos nas classes de manipulacao de dados que crio para o hibernate usar. Então, basicamente… eu crio outra classe, que seja meu BO, para deixar os métodos de negócio? Qual a melhor prática?
Agradeço
As regras de negócio ficam dentro dos objetos do modelo de negócio, que são os objetos que são invocados dentro do Action.
Imagine que você tem que fazer um controle de usuários na sua aplicação, então você cria um GerenciadorDeUsuários que faz esse trabalho, ele faz login, logoff, cria novos e todo o resto. Lá na sua Action você simplesmente faz GerenciadorDeUsuários.logar(usuario) e pronto.
Saquei, entao… eu vou criar uma outra classe que fique responsavel por ter meus métodos de negócio, né? Porque até então eu tenho uma classe que chamo de NomeDoObjetoService, que chamo no Action. Ela é a classe onde o hibernate faz toda a manipulacao… as funcoes de update, save, delete, retrieveList e etc… não é bom usar essa mesma classe né? Afinal de contas colocar os métodos d negócio em outra classe os tornariam independentes do hibernate.
[quote=moonlight]Saquei, entao… eu vou criar uma outra classe que fique responsavel por ter meus métodos de negócio, né? Porque até então eu tenho uma classe que chamo de NomeDoObjetoService, que chamo no Action. Ela é a classe onde o hibernate faz toda a manipulacao… as funcoes de update, save, delete, retrieveList e etc… não é bom usar essa mesma classe né? Afinal de contas colocar os métodos d negócio em outra classe os tornariam independentes do hibernate.
[/quote]
Eu costumo trabalhar com classes “Gerenciadoras” que tem acesso a classes DAO. Os gerenciadores fazem a parte que não está no banco e os DAOs fazem a parte que lida com o banco de dados.
Vai dar mais ou menos na mesma coisa, o importante é não colocar código nas actions.
Entendi.
Mais uma vez, muito obrigada.