Estrutura da Aplicação - MVC  XML
Índice dos Fóruns » Arquitetura de Sistemas
Autor Mensagem
fabriciogiordani
JavaTeenager
[Avatar]
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."
[MSN] [ICQ]
Rafael Steil
Administrador
[Avatar]

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
[Email] [WWW]
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

[WWW] [MSN] [ICQ]
fabriciogiordani
JavaTeenager
[Avatar]
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."
[MSN] [ICQ]
fabriciogiordani
JavaTeenager
[Avatar]
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."
[MSN] [ICQ]
cv
Moderador
[Avatar]

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/
[Email] [WWW] [Yahoo!] [MSN] [ICQ]
fabriciogiordani
JavaTeenager
[Avatar]
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."
[MSN] [ICQ]
cv
Moderador
[Avatar]

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?
[Email] [WWW] [Yahoo!] [MSN] [ICQ]
fabriciogiordani
JavaTeenager
[Avatar]
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."
[MSN] [ICQ]
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

[WWW] [MSN] [ICQ]
fabriciogiordani
JavaTeenager
[Avatar]
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."
[MSN] [ICQ]
Rafael Steil
Administrador
[Avatar]

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
[Email] [WWW]
fabriciogiordani
JavaTeenager
[Avatar]
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."
[MSN] [ICQ]
cv
Moderador
[Avatar]

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
[Email] [WWW] [Yahoo!] [MSN] [ICQ]
eagnes
JavaBaby
[Avatar]

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)?
 
Índice dos Fóruns » Arquitetura de Sistemas
Ir para:   
Powered by JForum 2.1.8 © JForum Team