| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 08/08/2007 12:28:20
|
peron
JavaGuru
![[Avatar]](/images/avatar/76383b34503afb0508f8364787c55800.jpg)
Membro desde: 09/06/2005 09:39:31
Mensagens: 236
Localização: Blumenau/SC
Offline
|
Olá a todos,
Estou tentando desenvolver um projeto onde a regra de negócio fica isolada (como se fosse um projeto separado), tentando de maneira a deixar meu código facilmente utilizável no desktop ou na web.
Estou com algumas dúvidas que não consegui encontrar ou interpretar adequadamente em minhas buscas na web, e gostaria de ouvir algumas opiniões de pessoas experientes
Exemplo usado:
1) Como não devo usar nenhum framework web ou desktop, como faço para que meu modelo carregue adequadamente a Implementacao do DAO Genérico ao respectivo banco de dados?
Minha idéia: Utilizar uma factory carregada através de um arquivo XML. Algo parecido com isso aqui: http://jingdao.sourceforge.net/. Mas ainda persiste um problema: como armazenar a instancia dessa factory que seja facilmente acessivel pelos meus objetos do modelo. (Singleton?)
2) Outro problema que apareceu é como que minhas classes de negócio vao receber o dao e a transaction? elas vao dar um factory.getDAO()? ou há alguma forma de deixar isso dinâmico? (ou seja, se for web, poder usar IoC como no mentawai)
Minha idéia: sem idéia
3) Sobre a transaction, no caso quem controla elas é o PersonManager certo? dentro de uma action do mentawai eu so vou chamar metodos de personManager, correto?
Minha idéia: sem idéia
Desculpem as dúvidas de iniciante, mas gostaria muito de já começar corretamente ..
Obrigado desde já
[]s
Marcos
|
Marcos Peron
http://www.marcosperon.com
"Dizem que, no início, Deus criou o céu e a Terra. Mentira! Na verdade, no início Deus criou Java. Onde achas que ele programou o mundo, oras?" |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 08/08/2007 14:51:35
|
Tecnoage
GUJ Master
Membro desde: 13/03/2005 23:18:07
Mensagens: 1723
Localização: SP
Offline
|
Voce não precisa estar em um ambiente WEB para usar IoC... neste caso, algumas de suas dúvidas estão mais claras..
|
Arquiteto de Software
Sysped Solutions
R3 SAP CAT-83, NF-e, ECD, EFD, CT-e, MANAD, IN86
www.sysped.com.br |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 08/08/2007 14:55:22
|
Tecnoage
GUJ Master
Membro desde: 13/03/2005 23:18:07
Mensagens: 1723
Localização: SP
Offline
|
OBS: Não gosto de chamar um DAO de dentro de uma action diretemente. Não coloque regras de negócio dentro do DAO e lembre-se DAO é PERSISTÊNCIA, não regras de negócio.
OBS 2: O que tem a ver a implementação do seu DAO genérico com algum framework WEb ou desktop? pq vc se sente amarrado nisso?
Poste o código um pouco mais claro para a gente poder ajudar mais...
Abraço!
|
Arquiteto de Software
Sysped Solutions
R3 SAP CAT-83, NF-e, ECD, EFD, CT-e, MANAD, IN86
www.sysped.com.br |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 08/08/2007 16:25:13
|
peron
JavaGuru
![[Avatar]](/images/avatar/76383b34503afb0508f8364787c55800.jpg)
Membro desde: 09/06/2005 09:39:31
Mensagens: 236
Localização: Blumenau/SC
Offline
|
Tecnoage wrote:Voce não precisa estar em um ambiente WEB para usar IoC... neste caso, algumas de suas dúvidas estão mais claras..
Primeiramente, obrigado por responder
Sobre isso, gostaria de saber então se existe algum framework ou como posso fazer para ter IoC. vc conhece?
Tecnoage wrote:
OBS: Não gosto de chamar um DAO de dentro de uma action diretemente. Não coloque regras de negócio dentro do DAO e lembre-se DAO é PERSISTÊNCIA, não regras de negócio.
Certo, eu me expressei mail. minha estrutura é baseada no exemplo do mentawai a aplicação MyBooks
Minha estrutura:
Person -> Bean normal que tem construtor sem parametros e getters and setters
PersonManager -> aqui ficam os métodos que criam pessoas, removem pessoas e fazem algumas acoes com ela.
PersonDAO - interface que possui os metodos para persistencia
HibernatePersonDAO - implementacao de persistencia usando hibernate.
Aí, por exemplo, em uma action (web) ou no desktop eu só interagiria com o PersonManager. Porém, PersonManager tem que ter uma instancia do DAO correto e também não sei como controlar a transação ali.
Tecnoage wrote:
OBS 2: O que tem a ver a implementação do seu DAO genérico com algum framework WEb ou desktop? pq vc se sente amarrado nisso?
Como fazer para carregar no PersonManager o DAO correto sem ter dependencia a web ou desktop, podendo facilmente em ambos.
Como vocês fazem para armazenar instancias de classes únicas? usa Singleton ? Por exemplo, naquele caso, um dao loader como o jingdao citado acima.
Tecnoage wrote:
Poste o código um pouco mais claro para a gente poder ajudar mais...
tentei ser mais claro, se não consegui, posto o código.
Você tem alguma indicação de livro, ou link ou até algum exemplo de arquitetura para que eu possa desenvolver projetos reutilizáveis?
Desde já agradeço sua disposição.
[]s
|
Marcos Peron
http://www.marcosperon.com
"Dizem que, no início, Deus criou o céu e a Terra. Mentira! Na verdade, no início Deus criou Java. Onde achas que ele programou o mundo, oras?" |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 08/08/2007 16:46:34
|
fre_d
Java Ninja
Membro desde: 13/06/2007 17:42:02
Mensagens: 259
Localização: Lages - SC
Offline
|
Você pode usar o Spring ou PicoContainer como framework IoC.
Esse artigo é de 2004, se for comparar os dois acesse as versões mais recentes.
http://today.java.net/pub/a/today/2004/02/10/ioc.html
|
|
|
 |
|
|
|
|