| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 20/03/2010 21:31:19
|
Lavieri
GUJ Master
![[Avatar]](/images/avatar/7b41bfa5085806dfa24b8c9de0ce567f.png)
Membro desde: 27/01/2004 13:39:31
Mensagens: 1851
Localização: João Pessoa / PB
Offline
|
ingridfarabulini wrote:Desculpa, mas não consigo visualizar essa situação. Àlias, não vou estar acoplando demais a visão ao controlador? Obrigada.
ahh e lembrando... é por isso, que eu falei, que no controlador vc deve ter o minimo possivel de lógica nele. e ele deve passar isso pra alguma lógica responsável...
pois a lógica tem q ser mantida... ou seja... o processo desencadeado após receber o bean, em um cadastro, deve ser separado, em um local adequado...
........
se um dia (não que isso aconteça facilmente) trocar a view pra outra coisa... vc remove a view.... escreve um controlado novo pra view nova, e envia o bean pra lógica... e a lógica fica preservada....
|
Sun Certified Java Programmer (SCJP 6)
"Any fool can write code that a computer can understand. Good programmers write code that humans can understand."
-Martin Fowler et al, Refactoring: Improving the Design of Existing Code, 1999
Meu blog -> http://blog.tomazlavieri.com.br/ |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 20/03/2010 21:32:35
|
pedroroxd
GUJ Master
![[Avatar]](/images/avatar/dd9206848200f155f3af5e05d724d75d.png)
Membro desde: 26/08/2009 14:56:11
Mensagens: 1615
Localização: Santa Rita do Sapucaí - O vale da Eletrônica
Offline
|
Hmm
tive uma idéia melhor..
Porque você não crie apenas uma classe chamada pessoa, com variáveis Nome, Endereço, Telefone
E depois faz os get's e set's como o pedroroxd e o UMC falou?
This message was edited 1 time. Last update was at 20/03/2010 21:33:43
|
Ei... você está usando DefaultTableModel no seu projeto?? Não faça isso! Veja Isso!
"Quem quer fazer, arranja um jeito. Quem não quer, uma desculpa."
'The dictionary is the only place that success comes before work!"
"Não diga à Deus que você tem um grande problema, diga ao problema que você tem um grande Deus."
"If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple.
But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas."
"O Brasil é um país geométrico. Tem problemas angulares, discutidos em mesas redondas, por um monte de bestas quadradas."
"Olho por olho, e o mundo acabará cego."
"Se falam pelas costas, é sinal que eu to na frente" |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 20/03/2010 21:33:47
|
Lavieri
GUJ Master
![[Avatar]](/images/avatar/7b41bfa5085806dfa24b8c9de0ce567f.png)
Membro desde: 27/01/2004 13:39:31
Mensagens: 1851
Localização: João Pessoa / PB
Offline
|
ingridfarabulini wrote:Sim, entendi. Mas quem chama a DAO é o controller? Ou o Bean?
normalmente funciona assim ....
VIEW -> CONTROLLER -> LOGICA (onde tem os processos) -> CAMADA DE PERSISTENCIA (o que pode ser um DAO).
a lógica e a camada de persistencia que comentei aqui, fazem parte do MODELO
portanto... MVC (Modelo Visão e Controle).
normalmente é assim q faz
|
Sun Certified Java Programmer (SCJP 6)
"Any fool can write code that a computer can understand. Good programmers write code that humans can understand."
-Martin Fowler et al, Refactoring: Improving the Design of Existing Code, 1999
Meu blog -> http://blog.tomazlavieri.com.br/ |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 20/03/2010 21:41:48
|
ingridfarabulini
JavaChild
![[Avatar]](/images/avatar/36021f1ee166c60a793897a72a6c076c.jpg)
Membro desde: 20/03/2010 14:07:00
Mensagens: 123
Localização: Canasvieiras - SC
Offline
|
Lavieri wrote:
ingridfarabulini wrote:Desculpa, mas não consigo visualizar essa situação. Àlias, não vou estar acoplando demais a visão ao controlador? Obrigada.
ahh e lembrando... é por isso, que eu falei, que no controlador vc deve ter o minimo possivel de lógica nele. e ele deve passar isso pra alguma lógica responsável...
pois a lógica tem q ser mantida... ou seja... o processo desencadeado após receber o bean, em um cadastro, deve ser separado, em um local adequado...
........
se um dia (não que isso aconteça facilmente) trocar a view pra outra coisa... vc remove a view.... escreve um controlado novo pra view nova, e envia o bean pra lógica... e a lógica fica preservada....
Uhmm acho que estou entendo. Então quer dizer que o bean não faz parte do modelo?
Vamos ver, olha só:
- A visão será a classe CadastraPessoaVisao (que contém os campos para cadastrar);
- O controlador será a classe PessoaControla que escuta os eventos ocorridos no objeto criado de CadastraPessoaVisao (exemplo do clique no botão cadastrar);
- A logica seriam as classes Pessoa, Telefone, EMail;
- Esse mesmo controlador fica responsável em carregar os dados em um objeto da classe Pessoa (a qual carregará os demais objetos instanciados por ela, no caso Telefone, Email)
Certo?
|
A amizade começa onde termina ou quando conclui o interesse. Que mundo infeliz, onde as pessoas procuram ser melhores que as outras ao invés de ajudar umas as outras... mas uma amizade verdadeira é um amor que nunca morre. Seja feliz, mesmo sendo assim, sempre! |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 20/03/2010 22:18:27
|
Sergio Lopes
Moderador
![[Avatar]](/images/avatar/8232e119d8f59aa83050a741631803a6.jpg)
Membro desde: 17/11/2003 00:22:10
Mensagens: 1368
Localização: São Paulo - SP
Offline
|
Favor evitar cantadas baratas em cima das mulheres que frequentam o fórum. Mensagens apagadas.
|
Sérgio Lopes - twitter: @sergio_caelum - blog pessoal: sergiolopes.org
Curso Java | Apostilas Java | Arquitetura Java | Curso Rails |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 20/03/2010 23:34:15
|
Lavieri
GUJ Master
![[Avatar]](/images/avatar/7b41bfa5085806dfa24b8c9de0ce567f.png)
Membro desde: 27/01/2004 13:39:31
Mensagens: 1851
Localização: João Pessoa / PB
Offline
|
ingridfarabulini wrote:
Uhmm acho que estou entendo. Então quer dizer que o bean não faz parte do modelo?
Vamos ver, olha só:
- A visão será a classe CadastraPessoaVisao (que contém os campos para cadastrar);
- O controlador será a classe PessoaControla que escuta os eventos ocorridos no objeto criado de CadastraPessoaVisao (exemplo do clique no botão cadastrar);
- A logica seriam as classes Pessoa, Telefone, EMail;
- Esse mesmo controlador fica responsável em carregar os dados em um objeto da classe Pessoa (a qual carregará os demais objetos instanciados por ela, no caso Telefone, Email)
Certo?
Os beans fazem sim parte do modelo ....
Modelo inclui, suas entidades (os beans), suas lógicas (as operações a serem realizadas em seu modelo), e também o limiar com a camada de persistencia (ou seja, lógicas de consulta, de inserção entre outras coisas)...
Uma primeira observação, apesar das entidades (esses beans que vc esta falando) serem parte do modelo, normalmente eles trafegam por todas as camadas, desde a visão, onde podem ser recebidos para exibição ou preenchimento, passando pelo controle (que os extrai da visão e joga pra lógica, ou os recebe como resultado de um lógica e envia para o lugar adequado na visão), pela lógica (que processa e realiza operação a partir dessas entidades) até a camda de persistencia (que recebe da lógica para armazenamento no banco, ou para remoção ou atualização no banco; ou puxando do banco de dados e enviado como retorno para a lógica).
A entidade (Por exemplo um objeto Pessoa) é um objeto que navega em todas as camadas, existem casos que a visão não o conhece e nesses casos o controlador tem que os converter para a visão conseguir exibir, em casos que a visão consegue trabalhar com as entidades, o controlador não precisa se dar ao trabalho disto
Vendo as responsabilidades
- A Visão cuida de iteragir com o usuários, para tal pode ser com campos e formulário para cadastro, ou exibindo informações, entre outras coisas.
- O Controlador tem a função de entender o que o usuário pede a visão, e conhecer as rotas do seu sitema, enviado uma requisição do usuário para a lógica correta, além de receber o resultado de uma ação pedida a lógica, e devolver para a visão correta, para que o usuário tenha o seu retorno.
- A Lógica tem função de processaro um pedido, uma requisição do usuário, fazer os passos necessário para que o evento ocorra conforme pedido pelo usuário, para tal ele conhece que o procedimento para efetivamente fazer o pedido, para tal ele pode se comunicar com varios setores do modelo, como por exemplo, cadastrar a Pessoa no através do PessoaDao, enviar um e-mail para o administrador, informando que existe uma nova pessoa, checar se tudo ocorreu bem... alem disso uma lógica pode requerer informações, processar as informações e entregar de volta para quem pediu (no caso o controle). Essa lógica então fala com o a camada de persistencia sempre que é necessário recuperar dados armazenados ou armazenar dados.
- A Camada de persistencia é quem cuida de guardar, remover, atualizar, ou também recuperar as entidades de um banco de dados fisico, é responsável pelas consultas e coisas do genero, ela retorna pra lógica o resultado de suas consultas, ou de suas operações.
- As Entidades (ou os beans como vc esta chamando) são na verdade a informação, que esta sendo passada entre as camadas, elas podem ou não conter alguns processos, e ter algumas lógicas internas, mas normalmente são só isso, um punhado de informação, que tranzita entre as camadas.... são informações enviadas pelo usuário, ou atualizadas pelo usuário, ou apagadas, ou coisas do tipo.... essa é a função principal destas entidades servir de informação...
............
Espero que tenha entendido, e desculpa a demora na resposta, é que dei uma saida, e só voltei agora...
|
Sun Certified Java Programmer (SCJP 6)
"Any fool can write code that a computer can understand. Good programmers write code that humans can understand."
-Martin Fowler et al, Refactoring: Improving the Design of Existing Code, 1999
Meu blog -> http://blog.tomazlavieri.com.br/ |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 21/03/2010 10:30:42
|
ingridfarabulini
JavaChild
![[Avatar]](/images/avatar/36021f1ee166c60a793897a72a6c076c.jpg)
Membro desde: 20/03/2010 14:07:00
Mensagens: 123
Localização: Canasvieiras - SC
Offline
|
Olá Lavieri, eu entendi sim.
As entidades caminham por todas as camadas levando os dados necessários para processamento em outras camadas.
Vou tentar mostrar isso:
- Eu abro a janela de cadastro da minha agenda; (um objeto de CadAgenda)
- Nela preencho os dados da pessoa que vou cadastrar; (os JTextField's)
- Clico no botão cadastrar; (o JButton)
- Nesse momento, o ActionListener do JButton (que está dentro do objeto CadAgenda) cria um objeto de Pessoa (entidade) e através dos set's passa os dados dos JTextField para o objeto criado;
- Por fim o ActionListener chama um método do Controle ( control.cadastrar(Pessoa p) ) passando o objeto de Pessoa para ele;
- Encerra-se o ciclo da visão por hora...
Até aqui tudo certo?
Obrigada Desculpa se estiver entendendo errado...
|
A amizade começa onde termina ou quando conclui o interesse. Que mundo infeliz, onde as pessoas procuram ser melhores que as outras ao invés de ajudar umas as outras... mas uma amizade verdadeira é um amor que nunca morre. Seja feliz, mesmo sendo assim, sempre! |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 21/03/2010 11:42:58
|
pedroroxd
GUJ Master
![[Avatar]](/images/avatar/dd9206848200f155f3af5e05d724d75d.png)
Membro desde: 26/08/2009 14:56:11
Mensagens: 1615
Localização: Santa Rita do Sapucaí - O vale da Eletrônica
Offline
|
Sergio Lopes wrote:Favor evitar cantadas baratas em cima das mulheres que frequentam o fórum. Mensagens apagadas.
Ahhhh
mankdaaaaaa
HUAhuUAHuha
eu tava bebado =X
|
Ei... você está usando DefaultTableModel no seu projeto?? Não faça isso! Veja Isso!
"Quem quer fazer, arranja um jeito. Quem não quer, uma desculpa."
'The dictionary is the only place that success comes before work!"
"Não diga à Deus que você tem um grande problema, diga ao problema que você tem um grande Deus."
"If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple.
But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas."
"O Brasil é um país geométrico. Tem problemas angulares, discutidos em mesas redondas, por um monte de bestas quadradas."
"Olho por olho, e o mundo acabará cego."
"Se falam pelas costas, é sinal que eu to na frente" |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 21/03/2010 16:05:02
|
Felipe Kan
JavaEvangelist
Membro desde: 12/07/2005 16:13:03
Mensagens: 418
Offline
|
pedroroxd wrote:
Sergio Lopes wrote:Favor evitar cantadas baratas em cima das mulheres que frequentam o fórum. Mensagens apagadas.
Ahhhh
mankdaaaaaa
HUAhuUAHuha
eu tava bebado =X
rs... ainda bem que sou compromissado... mensagem privada para olhar o tópico e com foto do sexo oposto, já logo pensei... vai chover reply.. rs...
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 21/03/2010 16:16:00
|
ingridfarabulini
JavaChild
![[Avatar]](/images/avatar/36021f1ee166c60a793897a72a6c076c.jpg)
Membro desde: 20/03/2010 14:07:00
Mensagens: 123
Localização: Canasvieiras - SC
Offline
|
Felipe Kan wrote:
pedroroxd wrote:
Sergio Lopes wrote:Favor evitar cantadas baratas em cima das mulheres que frequentam o fórum. Mensagens apagadas.
Ahhhh
mankdaaaaaa
HUAhuUAHuha
eu tava bebado =X
rs... ainda bem que sou compromissado... mensagem privada para olhar o tópico e com foto do sexo oposto, já logo pensei... vai chover reply.. rs...
É moço e pelo que parece está difícil alguém conseguir entender a minha pergunta aí de cima para responder...
Estou vendo outros tópicos também... mas até agora não consigo visualizar direito como fazer essa agenda...
Obrigada por ter atendido ao meu MP e fico feliz que tenha respondido aqui, como citei não gosto de usar MP porque a resposta fica restrita e desfavorece os demais usuários do fórum. Parabéns moço! Fico no aguardo por mais respostas, quem souber... ficarei grata!
This message was edited 1 time. Last update was at 21/03/2010 16:17:07
|
A amizade começa onde termina ou quando conclui o interesse. Que mundo infeliz, onde as pessoas procuram ser melhores que as outras ao invés de ajudar umas as outras... mas uma amizade verdadeira é um amor que nunca morre. Seja feliz, mesmo sendo assim, sempre! |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 21/03/2010 17:52:13
|
pedromuyala
JavaEvangelist
![[Avatar]](/images/avatar/bdf429cf164fa35c126cfc08dbb80395.jpg)
Membro desde: 02/01/2009 19:08:04
Mensagens: 340
Offline
|
Olá moça, tudo bem com você?
Muito obrigado mesmo por ter entrado em contato comigo pela mensagem privada. Fiquei muito feliz de receber sua mensagem hoje!
Olha só li sua dificuldade e já passei por isso no ano passado, álias até hoje tenho minhas dúvidas também sobre arquitetura...kkk.
Precisei ficar ausente do fórum até quase final de Janeiro... mas me inspirou a voltar!
Mas veja este tópico aqui do GUJ mesmo que criei no ano passado, acredito eu que irá ajudá-la e muito a sanar sua dúvida!!! Link
Olha para você, exclusivamente, vou até montar uma imagem com a última explicação que foi dada pelo Sergio Taborda que na minha opinião foi a que mais convenceu...
Vou colocar a imagem lá no tópico... também sou adepto ao que disse na mp de evitar fechar a informação a todos... ela deve transcorrer livremente, sem dúvida, para todos os companheiros Gujeiros.
Leia com calma cada detalhe lá do tópico, não se afobe em fazer uma nova pergunta, ok?
Tudo de bom para você, conheço Canasvieiras já passei uma férias aí no litoral de Santa Catarina.
Mais uma vez obrigado por me procurar, sempre que precisar, ok?
|
"O melhor grupo não é aquele que reúne membros perfeitos, mas aquele
onde cada um aceita os defeitos do outro, com isso se ajudam e conseguem perdão para seus próprios defeitos".
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 21/03/2010 18:09:04
|
Lavieri
GUJ Master
![[Avatar]](/images/avatar/7b41bfa5085806dfa24b8c9de0ce567f.png)
Membro desde: 27/01/2004 13:39:31
Mensagens: 1851
Localização: João Pessoa / PB
Offline
|
mais ou meno assim
é + ou - assim
This message was edited 1 time. Last update was at 21/03/2010 18:10:20
|
Sun Certified Java Programmer (SCJP 6)
"Any fool can write code that a computer can understand. Good programmers write code that humans can understand."
-Martin Fowler et al, Refactoring: Improving the Design of Existing Code, 1999
Meu blog -> http://blog.tomazlavieri.com.br/ |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 21/03/2010 19:19:41
|
ingridfarabulini
JavaChild
![[Avatar]](/images/avatar/36021f1ee166c60a793897a72a6c076c.jpg)
Membro desde: 20/03/2010 14:07:00
Mensagens: 123
Localização: Canasvieiras - SC
Offline
|
Lavieri wrote:mais ou meno assim
é + ou - assim
Olá Lavieri...
Entendi sim... nesse caso então o ActionListener faz o papel de chamar a lógica da aplicação certo?
Esse código que me mostrou seria da apresentação??
Obrigada por não desistir!
|
A amizade começa onde termina ou quando conclui o interesse. Que mundo infeliz, onde as pessoas procuram ser melhores que as outras ao invés de ajudar umas as outras... mas uma amizade verdadeira é um amor que nunca morre. Seja feliz, mesmo sendo assim, sempre! |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 21/03/2010 19:31:20
|
Lavieri
GUJ Master
![[Avatar]](/images/avatar/7b41bfa5085806dfa24b8c9de0ce567f.png)
Membro desde: 27/01/2004 13:39:31
Mensagens: 1851
Localização: João Pessoa / PB
Offline
|
é um controlador que monta chama uma visão.... e é responsável por sua comunicação com as camadas de baixo...
pra exibir essa janela é facil
os componenetes, que são JFrame e eoutros podem ser Objetos personalizados com as telas pra pre montadas...
e sendo objetos montados, fica mais separado a visão da lógica, pq ai é melhor do que montar a tela no controlador
This message was edited 2 times. Last update was at 21/03/2010 19:38:24
|
Sun Certified Java Programmer (SCJP 6)
"Any fool can write code that a computer can understand. Good programmers write code that humans can understand."
-Martin Fowler et al, Refactoring: Improving the Design of Existing Code, 1999
Meu blog -> http://blog.tomazlavieri.com.br/ |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 21/03/2010 19:45:14
|
ingridfarabulini
JavaChild
![[Avatar]](/images/avatar/36021f1ee166c60a793897a72a6c076c.jpg)
Membro desde: 20/03/2010 14:07:00
Mensagens: 123
Localização: Canasvieiras - SC
Offline
|
Entendi sim!
É acredito que sanou uma das minhas dúvidas principais!
Obrigada mais uma vez por toda sua atenção!
Tenho mais umas dúvidas mas um colega acima indicou um tópico que achei interessante e como já está caminhada a conversa vou postar lá para não ficar duplicando tópicos!
Mais uma vez obrigada mesmo, beijo.
|
A amizade começa onde termina ou quando conclui o interesse. Que mundo infeliz, onde as pessoas procuram ser melhores que as outras ao invés de ajudar umas as outras... mas uma amizade verdadeira é um amor que nunca morre. Seja feliz, mesmo sendo assim, sempre! |
|
|
 |
|
|