| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 14/04/2004 00:37:55
|
fabriciogiordani
JavaTeenager
Membro desde: 13/03/2003 22:01:31
Mensagens: 183
Localização: Brasil
Offline
|
Gostaria de saber a opinião da galera sobre a estrutura das classes da aplicação.
-Cidade _ Bean apenas com os atributos com gets e sets
int codigo;
String descricao;
Vou dar um exemplo:
-Tela de cadastro de cidade.
Esta tem uma instância de CidadeControll.
- CidadeControll _ Tem os metodos para inserir/alterar, apagar e recuperar uma cidade. Caso alguma operação cause exceção ela tem a função de disparar um JOptionPanel
A Tela de Cadastro instancia o Bean Cidade e passa como parâmetro para por exemplo o método inserir para gravar no banco.
A CidadeControll por sua vez tem uma instância de CidadeDAO que implementa uma interface com os metodos para inserir/alterar, apagar e recuperar.
-CidadeDAO _ Pega uma connection e o parâmetro, no caso o objeto Cidade e grava no banco.
|
http://www.useaporradogoogle.com/
"Se meu dinheiro falasse, diria TCHAUUUUU "
"Mal por mal, prefiro o de Alzheimer ao de Parkinson. É melhor esquecer de pagar a cerveja do que derrubar tudo no chão." |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 14/04/2004 09:39:11
|
Rafael Steil
Administrador
![[Avatar]](/images/avatar/8e296a067a37563370ded05f5a3bf3ec.jpg)
Membro desde: 31/08/2002 02:35:53
Mensagens: 5984
Localização: São Paulo
Offline
|
Ta ok.. soh uma coisa: se a tua Control sempre for delegar direto pro DAO, voce poderia usar o DAO direto ( ao menos que a tua classe control decida para qual implementacao de dao delegar.. ou seja, se ela for algo como / acessar um factory de dao's )
Rafael
|
"working code attracts people who want to code. Design documents attract people who want to talk about coding - Charles Miller"
http://rafaelsteil.com
http://twitter.com/rafaelsteil
http://www.jforum.net
http://www.flickr.com/photos/rafaelsteil |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 14/04/2004 09:42:24
|
fabio.patricio
GUJ Master
Membro desde: 04/01/2004 02:51:33
Mensagens: 1512
Localização: Porto Alegre - RS
Offline
|
Olá,
O teu bean é um VO?
]['s
|
Fabio Patricio
http://blog.wansoft.com.br
 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 14/04/2004 11:18:14
|
fabriciogiordani
JavaTeenager
Membro desde: 13/03/2003 22:01:31
Mensagens: 183
Localização: Brasil
Offline
|
Seguinte, não mensionei mas essa arquitetura é pra usar EJB.
Estou amadurecendo a idéia e gostaria de receber sugestões !!!
|
http://www.useaporradogoogle.com/
"Se meu dinheiro falasse, diria TCHAUUUUU "
"Mal por mal, prefiro o de Alzheimer ao de Parkinson. É melhor esquecer de pagar a cerveja do que derrubar tudo no chão." |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 14/04/2004 17:05:12
|
fabriciogiordani
JavaTeenager
Membro desde: 13/03/2003 22:01:31
Mensagens: 183
Localização: Brasil
Offline
|
Refatorei e está mais ou menos assim, citando um exemplo:
Tela de venda (FM_Venda)
RN_Venda
Possui uma instância de RN_Cliente e de RN_NotaFisal
RN_Cliente
Possui uma instância de DAO_Cliente com os métodos insert, update, ..., sendo que estes apenas invocam os metodos da DAO
DAO_Cliente
Peja uma connection de uma classe especializada e executa os métodos insert, update, ...
RN_NotaFiscal
Possui uma instância de DAO_NotaFiscal com os métodos insert, update, ..., sendo que estes apenas invocam os metodos da DAO
DAO_NotaFiscal
Peja uma connection de uma classe especializada e executa os métodos insert, update, ...
RN = Regra de Negócio
|
http://www.useaporradogoogle.com/
"Se meu dinheiro falasse, diria TCHAUUUUU "
"Mal por mal, prefiro o de Alzheimer ao de Parkinson. É melhor esquecer de pagar a cerveja do que derrubar tudo no chão." |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 14/04/2004 17:31:40
|
cv
Moderador
![[Avatar]](/images/avatar/210f760a89db30aa72ca258a3483cc7f.jpg)
Membro desde: 04/04/2003 00:32:12
Mensagens: 7842
Localização: São Paulo, SP
Offline
|
Ta legalzinho, mas... http://java.sun.com/docs/codeconv/
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 14/04/2004 20:30:50
|
fabriciogiordani
JavaTeenager
Membro desde: 13/03/2003 22:01:31
Mensagens: 183
Localização: Brasil
Offline
|
FmVenda
RnVenda
RnCliente
DaoCliente
RnNotaFiscal
DaoNotaFiscal
e agora cv?
Tem alguma outra sugestão?
|
http://www.useaporradogoogle.com/
"Se meu dinheiro falasse, diria TCHAUUUUU "
"Mal por mal, prefiro o de Alzheimer ao de Parkinson. É melhor esquecer de pagar a cerveja do que derrubar tudo no chão." |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 14/04/2004 20:42:59
|
cv
Moderador
![[Avatar]](/images/avatar/210f760a89db30aa72ca258a3483cc7f.jpg)
Membro desde: 04/04/2003 00:32:12
Mensagens: 7842
Localização: São Paulo, SP
Offline
|
Bom, ja que a gente ta falando sobre nomenclatura... Rn e Fm nao fazem o menor sentido na primeira olhada... pq nao algo mais descritivo como Venda e VendaForm, ao inves de RnVenda e FmVenda?
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 14/04/2004 20:58:37
|
fabriciogiordani
JavaTeenager
Membro desde: 13/03/2003 22:01:31
Mensagens: 183
Localização: Brasil
Offline
|
FormVenda
RegraNegocioVenda
RegraNegocioCliente
DaoCliente
RegraNegocioNotaFiscal
DaoNotaFiscal
RegraNegocio = Achei meio extenso.
DataAccessObject (Dao) = Acho que ficaria mais extenso ainda.
FormVenda ou VendaForm
DaoCliente ou ClienteDao
Peguei o espírito ou ainda tá meio confuso?
|
http://www.useaporradogoogle.com/
"Se meu dinheiro falasse, diria TCHAUUUUU "
"Mal por mal, prefiro o de Alzheimer ao de Parkinson. É melhor esquecer de pagar a cerveja do que derrubar tudo no chão." |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 14/04/2004 22:33:19
|
fabio.patricio
GUJ Master
Membro desde: 04/01/2004 02:51:33
Mensagens: 1512
Localização: Porto Alegre - RS
Offline
|
Olá,
RegraNegocio não precisa colocar.
ClienteForm
Cliente
ClienteDAO
]['s
|
Fabio Patricio
http://blog.wansoft.com.br
 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 15/04/2004 00:25:32
|
fabriciogiordani
JavaTeenager
Membro desde: 13/03/2003 22:01:31
Mensagens: 183
Localização: Brasil
Offline
|
fabgp2001, deixe-me ver se entendi:
ClienteForm - tranquilo
ClienteDAO - tranquilo
Cliente - Este tem os atributos tipo: codigo, nome, endereço com os gets e sets.
Do jeito que vc está me sujerindo ele também teria os métodos insert, update, ... que com uma instância de ClienteDAO faria a persistência.
É isso mesmo?
|
http://www.useaporradogoogle.com/
"Se meu dinheiro falasse, diria TCHAUUUUU "
"Mal por mal, prefiro o de Alzheimer ao de Parkinson. É melhor esquecer de pagar a cerveja do que derrubar tudo no chão." |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 15/04/2004 09:56:30
|
Rafael Steil
Administrador
![[Avatar]](/images/avatar/8e296a067a37563370ded05f5a3bf3ec.jpg)
Membro desde: 31/08/2002 02:35:53
Mensagens: 5984
Localização: São Paulo
Offline
|
Nao necessariamente. O teu ClienteDAO poderia receber uma instancia de Cliente, ao inves do Cliente chamar o ClienteDAO.
Rafael
|
"working code attracts people who want to code. Design documents attract people who want to talk about coding - Charles Miller"
http://rafaelsteil.com
http://twitter.com/rafaelsteil
http://www.jforum.net
http://www.flickr.com/photos/rafaelsteil |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 15/04/2004 10:57:15
|
fabriciogiordani
JavaTeenager
Membro desde: 13/03/2003 22:01:31
Mensagens: 183
Localização: Brasil
Offline
|
Pois é, mas era isso que eu estava fazendo.
Tenho por exemplo a Tela de cadastro de Cidade. Esta tem uma instância de RnCidade que controla as regras de negócio da cidade.
A regra de negócio da cidade é que tem uma instância de CidadeDAO onde faço a persistência.
A dúvida é a seguinte. Tenho uma classe chama Cidade somente com parâmetro e gets e sets. (Está classe está correta?)
Quanto pego os valores dos textfields da tela instâncio a Cidade (na tela mesmo) e passo para a RnCidade. Esta verá se esta tudo preenchido corretamente e repassará para a CidadeDAO fazer a persistência.
Ex.:
Isso tudo na tela
A RnCidade recebe todos os erros que podem ocorrer quanto a persistência e validação, trata e repassa em forma de String para ser exibida na Tela em uma JOptionPane por exemplo.
|
http://www.useaporradogoogle.com/
"Se meu dinheiro falasse, diria TCHAUUUUU "
"Mal por mal, prefiro o de Alzheimer ao de Parkinson. É melhor esquecer de pagar a cerveja do que derrubar tudo no chão." |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 15/04/2004 11:21:03
|
cv
Moderador
![[Avatar]](/images/avatar/210f760a89db30aa72ca258a3483cc7f.jpg)
Membro desde: 04/04/2003 00:32:12
Mensagens: 7842
Localização: São Paulo, SP
Offline
|
Isso é um anemic domain model. Nao que seja ruim, por si só, mas pode ser melhor: http://www.martinfowler.com/bliki/AnemicDomainModel.html
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 19/04/2004 13:39:30
|
eagnes
JavaBaby
![[Avatar]](/images/avatar/c8b4ad773fc27ab4131c3.gif)
Membro desde: 10/04/2003 21:05:34
Mensagens: 80
Localização: Santa Cruz do Sul - RS
Offline
|
Eu também tenho dúvidas a respeito da melhor estrutura para um modelo MVC... acho que a discussão fugiu um pouco do foco...
Então gostaria de retomar o assunto: qual seria a melhor estrutura MVC para o modelo proposto pelo Fabricio? É interessante ter uma classe de Negócio + uma classe Bean + uma classe DAO (considerando que poderíamos ter uma factory de DAOs)?
|
|
|
 |
|
|