| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 16/03/2010 13:36:11
|
dina
JavaEvangelist
Membro desde: 14/01/2007 11:46:45
Mensagens: 356
Localização: Mogi das Cruzes - SP
Offline
|
Olá pessoal!
Tudo certo?
Gostaria de saber o que acham do meu código em DAO...
Se está conforme as "convenções", etc..
Gostaria de dizer que estou fazendo em netbeans e é só um teste para "treinar"... portanto nada de WEB..
Segue os códigos das minhas classes, quem puder dar uma olhada ficarei muito grata..
1. Classe: AutorDAO
2. Classe: Autor
3. Classe: AutorModel
Está rodando sem problemas, gostaria apenas de saber se a forma que fiz é uma considerada uma boa forma, e caso não seja, gostaria de saber o motivo...
Estou treinando isso para poder fazer/aplicar essas técnicas em um sistema maior do meu TCC...
Agradeço desde já,
Dina
|
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 16/03/2010 13:43:22
|
Marky.Vasconcelos
Moderador
![[Avatar]](/images/avatar/04940fadf3702cbd84b7a48161037c4f.png)
Membro desde: 11/04/2007 18:18:20
Mensagens: 5847
Localização: São Paulo/SP
Offline
|
Está conforme os padrões.
Mas agora que já sabe como fazer isso voce pode usar um framework de persistencia como o hibernate e fazer apenas um DAO generico, pois do seu modo a cada model voce precisa criar um novo DAO.
|
Facebook @MarkyHitchhiker +Mark WP: MarkyTech's
Projects:
Android Roadmap - Aprenda Android do inicio (Java é o unico pre-requisito)
Towel ( ObjectTableModel & Swing & Utils )
Tower Defense Game - Java2D [Open-Source] [How-to-play]
Ponto V! - Desenvolvimento de jogos para indies, curiosos e profissionais
DefaultTableModel?! PARE! Não faça isso! Faça melhor!
Dicas: Faça perguntas inteligentes! ; MigLayout ; GridBagLayout (Joke)
Develop games is fantastic, with words you can make worlds!!!
DON'T PANIC!
MarkyHitchhiker's Blog! |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 16/03/2010 13:47:55
|
rogelgarcia
GUJ Master
![[Avatar]](/images/avatar/861e8bae74e22a572164fdb59b1caa8b.jpg)
Membro desde: 21/06/2007 23:27:21
Mensagens: 1838
Offline
|
É Melhor renomear o AutorModel para Autor..
E a classe Autor chamar de AutorFrame, ou algo assim..
Fica seguindo mais o padrão dessa forma...
Mas é desse jeito que voce fez mesmo... ficou muito bom (nao li o código do frame profundamente... )
This message was edited 1 time. Last update was at 16/03/2010 13:48:38
|
Rógel Garcia, criador do framework NEXT
http://www.nextframework.org
 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 16/03/2010 13:53:08
|
dina
JavaEvangelist
Membro desde: 14/01/2007 11:46:45
Mensagens: 356
Localização: Mogi das Cruzes - SP
Offline
|
Mark_Ameba wrote:Está conforme os padrões.
Mas agora que já sabe como fazer isso voce pode usar um framework de persistencia como o hibernate e fazer apenas um DAO generico, pois do seu modo a cada model voce precisa criar um novo DAO.
Mark, vamos lá..
1. Framework de persistência??
2. DAO genérico?
Realmente achei que para cada model teria que fazer um DAO.
3. DAO genérico seria por exemplo, um DAO onde teria conexão ao BD, o fechamento da conexão, onde todos os outros DAO's "herdariam" este DAO genérico??
O meu sistema que farei para o meu TCC será DESKTOP..
4. Por ser Desktop muda algo?
5. Outra coisa, eu acabei chamando todos os métodos da DAO da minha classe Autor e não da classe Autor (onde tem a view e o tratamento dos botões), algum problema com isso?
Obrigada por analisar o meu código, e desculpa por esse tantão de perguntas...
Valeu mesmo...!
Dina
Editado: Correção de onde foram chamados os métodos da DAO
This message was edited 1 time. Last update was at 16/03/2010 13:56:16
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 16/03/2010 13:53:49
|
rogelgarcia
GUJ Master
![[Avatar]](/images/avatar/861e8bae74e22a572164fdb59b1caa8b.jpg)
Membro desde: 21/06/2007 23:27:21
Mensagens: 1838
Offline
|
Sobre práticas de programação... pra ficar perfeito....
No seu DAO os métodos deveriam ter um finally para garantir o fechamento da conexão caso ocorra alguma exceçao...
This message was edited 1 time. Last update was at 16/03/2010 13:55:05
|
Rógel Garcia, criador do framework NEXT
http://www.nextframework.org
 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 16/03/2010 13:54:57
|
dina
JavaEvangelist
Membro desde: 14/01/2007 11:46:45
Mensagens: 356
Localização: Mogi das Cruzes - SP
Offline
|
rogelgarcia wrote:É Melhor renomear o AutorModel para Autor..
E a classe Autor chamar de AutorFrame, ou algo assim..
Fica seguindo mais o padrão dessa forma...
Mas é desse jeito que voce fez mesmo... ficou muito bom (nao li o código do frame profundamente...  )
Oiee..
Então, segui o que vc tinha me respondido no post anterior..
Só que quando vi, como falei no meu post anterior, acabei chamando todos os meus métodos DAO pelo Autor (ou, como vc sugeriu AutorFrame)
Errado?
This message was edited 1 time. Last update was at 16/03/2010 13:56:56
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 16/03/2010 13:57:38
|
rogelgarcia
GUJ Master
![[Avatar]](/images/avatar/861e8bae74e22a572164fdb59b1caa8b.jpg)
Membro desde: 21/06/2007 23:27:21
Mensagens: 1838
Offline
|
dina wrote:
rogelgarcia wrote:É Melhor renomear o AutorModel para Autor..
E a classe Autor chamar de AutorFrame, ou algo assim..
Fica seguindo mais o padrão dessa forma...
Mas é desse jeito que voce fez mesmo... ficou muito bom (nao li o código do frame profundamente...  )
Oiee..
Então, segui o que vc tinha me respondido no post anterior..
Só que quando vi, como falei no meu post anterior, acabei chamando todos os meus métodos DAO pelo Autor (ou, como vc sugeriu AutorFrame)

Sim... ficou certo o que vc fez.. eu só sugeri um rename nas classes...
As classes de modelo geralmente nao tem prefixo nem sufixo.. então o AutorModel deveria se chamar só Autor
E a que é chamada Autor atualmente.. voce coloca um sufixo.. como AutorFrame
|
Rógel Garcia, criador do framework NEXT
http://www.nextframework.org
 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 16/03/2010 14:00:10
|
dina
JavaEvangelist
Membro desde: 14/01/2007 11:46:45
Mensagens: 356
Localização: Mogi das Cruzes - SP
Offline
|
rogelgarcia wrote:Sobre práticas de programação... pra ficar perfeito....
No seu DAO os métodos deveriam ter um finally para garantir o fechamento da conexão caso ocorra alguma exceçao...
Eba! Isso que eu quero, saber o que tem que mudar pra ficar melhor.. obrigada!
Mas Rogel, pelo que tinhamos falado em um outro tópico sobre onde chamar os métodos DAO, acho que não segui o que foi sugerido, ou segui?? Gostaria de saber se está OK...
Valeu pelas dicas e pela ajuda...
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 16/03/2010 14:02:20
|
rogelgarcia
GUJ Master
![[Avatar]](/images/avatar/861e8bae74e22a572164fdb59b1caa8b.jpg)
Membro desde: 21/06/2007 23:27:21
Mensagens: 1838
Offline
|
Seguiu...
Só o nome das classes mesmo.. que ficaria melhor trocar...
AutorModel -> Autor
Autor -> AutorFrame
O netbeans deve ter algum menu aí .. um Refactor > Rename (no eclipse tem.. nao sei como é no netbean)
Que troca todas as referencias ao nome da classe... assim vc nao tem que procurar todas as ocorrencias...
|
Rógel Garcia, criador do framework NEXT
http://www.nextframework.org
 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 16/03/2010 14:06:02
|
rogelgarcia
GUJ Master
![[Avatar]](/images/avatar/861e8bae74e22a572164fdb59b1caa8b.jpg)
Membro desde: 21/06/2007 23:27:21
Mensagens: 1838
Offline
|
Um exemplo de framework de persistencia é o Hibernate
Um framework é uma ferramenta para auxiliar na realização de algum trabalho...
O Hibernate por exemplo.. mapeia classes em tabelas.. e atributos em colunas do banco de dados..
Assim voce nao precisa escrever código para cada atributo que deseja mapear... o hibernate faz esse trabalho...
Sobre o DAO genérico... voce consegue aproveitar mais do que apenas a conexão...
Voce chegou a ver o video do crud que te mandei?? o DAO lá.. nao tem nenhum código.. (ele extende apenas um DAO genérico... esse é um DAO beeeem genérico)
|
Rógel Garcia, criador do framework NEXT
http://www.nextframework.org
 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 16/03/2010 14:06:57
|
dina
JavaEvangelist
Membro desde: 14/01/2007 11:46:45
Mensagens: 356
Localização: Mogi das Cruzes - SP
Offline
|
Alteração realizada!!
Rogel, não querendo abusar, mas já abusando, esse DAO genérico que o Mark sugeriu seria aquilo que falamos em um tópico anterior, onde tenho um DAO "mãe" para conectar/desconectar ao BD...?
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 16/03/2010 14:07:35
|
rogelgarcia
GUJ Master
![[Avatar]](/images/avatar/861e8bae74e22a572164fdb59b1caa8b.jpg)
Membro desde: 21/06/2007 23:27:21
Mensagens: 1838
Offline
|
Exato
|
Rógel Garcia, criador do framework NEXT
http://www.nextframework.org
 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 16/03/2010 14:08:34
|
dina
JavaEvangelist
Membro desde: 14/01/2007 11:46:45
Mensagens: 356
Localização: Mogi das Cruzes - SP
Offline
|
Ah simmmmmmmmm..
Agora deu uma luz..!
Consegui ligar uma coisa à outra...
Valeu mesmo pela ajuda!!!
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 16/03/2010 14:38:16
|
viniciusfaleiro
Virtual Machine Man
![[Avatar]](/images/avatar/839185ccf72cdda4fca46bfcc95208f0.jpg)
Membro desde: 22/03/2008 20:07:50
Mensagens: 523
Offline
|
Mark_Ameba wrote:Está conforme os padrões.
Mas agora que já sabe como fazer isso voce pode usar um framework de persistencia como o hibernate e fazer apenas um DAO generico, pois do seu modo a cada model voce precisa criar um novo DAO.
Concordo com o Mark.. más veja bem.. se por um acaso vc não utilizar um framework de persistencia eu não concordo com o fato de colocar a criação da sua Connection no DAO... cria uma factory separada pra isso acho que seria melhor.. É simples imaginar se por exemplo vc não tem um DAO genérico com Hibernate: Logo vc tem um DAO para cada model e vai criar um método getConnection() em cada model?... Se precisar dar manutenção bye bye...
|
Linkedin: http://www.linkedin.com/pub/vinicius-faleiro/32/697/624 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 16/03/2010 14:40:08
|
dina
JavaEvangelist
Membro desde: 14/01/2007 11:46:45
Mensagens: 356
Localização: Mogi das Cruzes - SP
Offline
|
Vinicius, valeu por dar sua opinião..
Realmente a manutenção ficaria complicada...
|
|
|
 |
|
|