SOCORRO! Que pattern usar para persistência de dados
11 respostas
J
JulioCVPJ
Olá pessoal!
Estou fazendo pesquisas e vendo qual será a melhor alternativa para nosso novo projeto. A maior dúvida está na persistência. O que é melhor (Abstract Factory) DAO, Hibernate, CMP, BMP ? Ou tudo junto?
Lembrando que do que você mencionou, apenas DAO é uma Design Pattern…
Eu usaria DAO + Hibernate
M
melissaPJ
Julio,
Em relação a design pattern o melhor é utilizar o DAO, ou seja, todo o seu acesso ao banco de dados ficar em uma classe separada.
Agora em relação ao qual framework utilizar depende muito do seu projeto.
A utilização de EJB ajuda muito se você possui muitos acessos simultâneos e precisa ter escalabilidade em seu projeto.
Já o Hibernate ou o OJB são para projetos mais simples, onde você não possui muitos acessos simultâneos, mas quer uma portabilidade de banco de dados.
As vezes é mais fácil você utilizar JDBC puro, mais rápido na construção se você não conhece nenhum framework.
Não quero te deixar confuso, mas como falei depende do porte, do tempo e de seu conhecimento para aplicar um framework ao seu projeto.
[]'s
Mel
F
feliperodPJ
Eu gosto muito do Hibernate…
Nunca tive problemas com ele, e ele possibilita mudança de DB sem grandes alterações.
R
Rubem_AzenhaPJ
“melissa”:
Julio,
Já o Hibernate ou o OJB são para projetos mais simples, onde você não possui muitos acessos simultâneos, mas quer uma portabilidade de banco de dados.
[]'s
Mel
O Hibernate é muito poderoso. Ele usa um framework de pool de conexões, mas isso é abstraido.
Isso o deixa bem eficiente. O overhead que ele gera parece não ser muito grande.
M
markoshPJ
utilizando o modelo mvc o meu dao pode acessar diretamente o meu controlador? ou só a minha camada de negócios acessa o controlador?
como é que eu faço pra transferir os dados q eu obtive do meu banco atraves do dao?uso um bean?ou retorno os dados pra minha camada de negocios e ela retorna pro controlador?
Valeu
M
matheusPJ
Dao acessando controller? Business acessando controller!? :yoq: Não não amigo! Sugiro que tu de uma revisada no seu MVC :ynerd:. Uma ótima fonte de estudo sobre esses patterns e com exemplos de como aplicá-los tu encontra na Sun, aqui:
Eu tenho a minha view(jsp) o meu controller(servlet) e o meu model(BO + DAO)…
então eu tenho que através do meu controller passar os dados para o meu BO, que então acessa a minha camada de dados, certo?
se eu quiser fazer um select…como eu faço?
eu tenho que eu posso acessar diretamente do controller a minha camada de dados? ou eu tenho que fazer isso através do meu BO?
M
matheusPJ
Pelo oque eu quotei de ti anteriormente, vc estava fazendo algo como um caminho do contrário. Tu terá o teu jsp que manda a requisição pra um controller, que por sua vez se incarrega de delegar para o componente certo a tratar aquela requisição que então coloca em algum contexto (request, session oque for melhor) oque ele recuperar do teu business, que este foi até o DAO recuperar esse resultado. Acho que foi só uma pequena confusão gerada naquilo que eu quotei.
M
markoshPJ
o que vc acha de usar um dto para transferir os objetos entre as camadas?
é besteira?
é melhor passar o próprio objeto mesmo?
Abraços
M
matheusPJ
“markosh”:
o que vc acha de usar um dto para transferir os objetos entre as camadas?
Essas camadas além de lógicas tb são físicas? Ou seja, sua aplicação é distribuida por mais servidores de aplicação, com um comunicando com o outro? Se sim, use-o. Do contrário tu não tem motivos para usar.
M
markoshPJ
as camadas são lógicas…
vc tem razão…é perda de tempo implementar dto no meu caso…