| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 16/10/2009 13:40:56
|
erickfm8
GUJ Master
Membro desde: 06/10/2009 19:29:12
Mensagens: 1396
Offline
|
Ola a todos surgiu uma dúvida extremamente importante para o desevimento profissional
Conceito
CAMADAS - Dizem como se agrupar os compoentes,,(objetos, classes etc).
MVC - Diz como interagem as camadas.
Em java nos separamos as Camadas da seguinte forma
Apresentação
Negocio
Persistencia
Certo?
Agora englobando o conceito MVC,como classificariamos essas camada em MODELO , VISAO , CONTROLE .
Tenho a seguinte susgestao
Visao - apresentacao
Controle -- Nao sei ??
Modelo -- Negocio , persistencia
mais acho que esta errado?
Alguem saberia me explicar isso?
Mais um pergunta,, quando fala programacao em tres camadas estamos nos referindo a ,,,Apresentacao,Negocio,persistencia ou a Modelo,Controle,Visao
Obrigado
|
Bacharel em Sistema de Informação
SCJP - Sun Certified Java Programmer
OCWCD - Oracle Certified Web Component Developer (Estudando..) |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 16/10/2009 13:53:35
|
ViniGodoy
Moderador
![[Avatar]](/images/avatar/1921493b5362e63fbe8983f4bd54157d.png)
Membro desde: 11/12/2006 08:22:01
Mensagens: 20578
Localização: Curitiba/PR
Offline
|
O controle é o meio de campo entra a apresentação e o negócio. Ele faz por exemplo, validação de dados, identifica e estimula o objeto responsável por tratar as entradas. Depois, obtém a resposta e a devolve para a visão. De certa forma, as classes de model do Swing (TableModel, ComboBoxModel) estão mais relacionados à função de controle, do que de modelo em si.
This message was edited 1 time. Last update was at 16/10/2009 13:54:11
|
@ViniGodoy - Lattes
Tem dúvidas de Java? Poste no fórum! Não respondo dúvidas de java via MP!
Ponto V! - Desenvolvimento de Jogos Profissional - @Pontov - Facebook
Projeto Towel - Swing de uma forma inteligente (Novo lar do ObjectTableModel e do Auto-Filtro).
Ei... você está usando DefaultTableModel no seu projeto??
Não faça isso! Veja: http://www.guj.com.br/posts/list/15/199067.java#1001295 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 16/10/2009 14:04:54
|
YvGa
Virtual Machine Man
Membro desde: 07/03/2007 15:58:16
Mensagens: 517
Offline
|
A unica semelhanca entre divisao em tres camadas e MVC é que ambos contem tres componentes. Só. De resto uma coisa é uma coisa, outra coisa é outra coisa.
Visao - apresentacao
Controle -- Nao sei ??
Modelo -- Negocio , persistencia
mais acho que esta errado?
Nao esta errado nao, é por aí mesmo. O controle é uma fina camada entre o modelo e a visao. No caso do struts e JSF por exemplo, o controller sao o ActionServlet e o FacesServlet respectivamente (alguns desenvolvedores consideram tambem como parte do controller os actions e os managed beans, outros nao. Confesso que isso nunca me tirou muito o sono). As paginas jsp, jsf, etc... sao o View e o resto é o Model.
Um dos problema da confusao esta na enorme diferenca de MVC para web e MVC desktop, que é o original, com os observers e etc... Eles sao bem diferentes, tanto que eu acho que sequer deveriam ter o mesmo nome.
Ja a separacao apresentacao - negocio - persistencia, é feita procurando isolar as regras de negocio das regras de apresentacao e das regras de acesso a banco. MVC é uma das formas de isolar a apresentacao das regras de negocio, assim como DAO é uma das formas de separar acesso a banco das regras de negocio.
Perguntar se MVC e divisao em camadas sao a mesma coisa é como perguntar se DAO e divisao em camadas sao a mesma coisa.
This message was edited 1 time. Last update was at 16/10/2009 14:07:10
|
Paulo Borio |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 16/10/2009 14:25:29
|
erickfm8
GUJ Master
Membro desde: 06/10/2009 19:29:12
Mensagens: 1396
Offline
|
YvGa , obrigado por respoder,, intao programcao em 3 camadas seria
TELA
NEGOCIO
PERSISTENCIA
MVC É APENAS PARA SEPARA TELA DO NEGOCIO ,,, É ISSO?
IMAGINAMOS O SEGUINTE UM CADASTRO DE Pessoa
1 - camada
PessoaForm ( TELA , Visao)
----------------------------------------------------------------
2 - camada
PessoaControle ( ? , Controle )
Pessoa (NEGOCIO, Modelo)
----------------------------------------------------------------
3 - camada
PessoaDAO(PERSISTENCIA , Modelo)
se eu fosse dividir em 3 camadas seria isso?
e outro coisa a classe persistencia é um modelo?
|
Bacharel em Sistema de Informação
SCJP - Sun Certified Java Programmer
OCWCD - Oracle Certified Web Component Developer (Estudando..) |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 16/10/2009 14:34:33
|
Ferryman
JavaGuru
![[Avatar]](/images/avatar/2e3907cbad887e6a1bea84d450b756db.jpg)
Membro desde: 26/10/2006 16:30:23
Mensagens: 220
Offline
|
Camadas é um termo fraco e depende bastante de contexto.
Quando ouço 3 camadas, posso tanto pensar na separação proposta pelo erickfm8, como tambem pensar em camadas físicas como por exemplo Browser, Servidor de aplicação e BD.
O velho problema da difenrença entre Tier e Layer, em que grande parte dos livros foi traduzido apenas como "Camada", ignorando a possibilidade de ser camada física ou lógica.
[]s
|
Rafael Farias Silva (@rafaferry)
Jsigner - Engenharia reversa automática através do maven. Acesse http://code.google.com/p/jsigner |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 16/10/2009 14:36:28
|
YvGa
Virtual Machine Man
Membro desde: 07/03/2007 15:58:16
Mensagens: 517
Offline
|
Sim, é por ai mesmo. Mas tente desassociar os conceitos MVC de divisao em camadas. Sim em MVC a camada de persistencia faz parte do model.
|
Paulo Borio |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 16/10/2009 14:39:04
|
YvGa
Virtual Machine Man
Membro desde: 07/03/2007 15:58:16
Mensagens: 517
Offline
|
Ferryman wrote:
Camadas é um termo fraco e depende bastante de contexto.
Quando ouço 3 camadas, posso tanto pensar na separação proposta pelo erickfm8, como tambem pensar em camadas físicas como por exemplo Browser, Servidor de aplicação e BD.
O velho problema da difenrença entre Tier e Layer, em que grande parte dos livros foi traduzido apenas como "Camada", ignorando a possibilidade de ser camada física ou lógica.
[]s
Pois é, tem mais esse problema pra gerar confusao. 3 camadas tambem podem ser cliente, servidor e servidor de BD, por exemplo. Aí a confusao ta feita de vez.
|
Paulo Borio |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 16/10/2009 14:48:10
|
erickfm8
GUJ Master
Membro desde: 06/10/2009 19:29:12
Mensagens: 1396
Offline
|
Sim,,,,, Mais o post desse Topico é para fazer o relacionamento em desenvolvimeto Desktop , priferencialmente usando swing,,, aguem mais para dar opnião?
obrigado a todos.
|
Bacharel em Sistema de Informação
SCJP - Sun Certified Java Programmer
OCWCD - Oracle Certified Web Component Developer (Estudando..) |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 16/10/2009 14:52:10
|
mochuara
GUJ Master
Membro desde: 20/05/2009 11:21:32
Mensagens: 1776
Offline
|
erickfm8 wrote:Sim,,,,, Mais o post desse Topico é para fazer o relacionamento em desenvolvimeto Desktop , priferencialmente usando swing,,, aguem mais para dar opnião?
obrigado a todos.
Então não tem nada de camadas propriamente, apenas uma separação lógica entre os componentes sendo o controler e a visão pertencente ao swing. Voce entra com o "model" e a configuração geral.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 16/10/2009 14:57:49
|
erickfm8
GUJ Master
Membro desde: 06/10/2009 19:29:12
Mensagens: 1396
Offline
|
Mais eu nao poderia ter o seguinte
PessoaForm (TELA , VISAO)
------------------------------------------------
PessoaControle (NEGOCIO , Controle)
Pessoa(Negocio,Modelo)
--------------------------------------------
PessoaDAO(persistencia , Modelo)
|
Bacharel em Sistema de Informação
SCJP - Sun Certified Java Programmer
OCWCD - Oracle Certified Web Component Developer (Estudando..) |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 16/10/2009 15:42:09
|
sergiotaborda
GUJ Expert
![[Avatar]](/images/avatar/b4a0e0fbaa9f16d8947c49f4e610b549.png)
Membro desde: 22/03/2005 20:57:48
Mensagens: 3433
Offline
|
erickfm8 wrote:Ola a todos surgiu uma dúvida extremamente importante para o desevimento profissional
Conceito
CAMADAS - Dizem como se agrupar os compoentes,,(objetos, classes etc).
MVC - Diz como interagem as camadas.
Este é o problema de usar uma nomenclatura falha, não univoca.
Lendo o que vc escreveu vc tem razão. Mas sabendo o que vc quiz dizer, vc está enganado.
O termo "camada" é na realidade um agrupamento de componentes, é o que em java seria um pacote e não se relaciona ao conceito de pilha.
Só que o mesmo termo é usado para significar "separação de componentes pelo lugar lógico que ocupam numa hierarquia de pilha"
Bom, então MVC sim é uma forma de como as camadas interagem se pensarmos em "camada" com a primeira difinição (conjunto de classes/componentes) mas não se pensarmos da segunda forma.
O termo camada é realmente ruim, porque é ambiguo.
"separação de componentes pelo lugar lógico que ocupam numa hierarquia de pilha" é chamado andar e conjunto de componentes não tem nome é "conjunto de componentes" mesmo. Informalmente podemos chamar de pacote, classes, API ,ssubpacote...
Então, MVC é uma forma como os componentes de integram um único andar, interagem.
Normalmente os andares de apresentação e cliente.
"Tela" não é um andar. "Apresentação" e "Cliente" é que são.
"Tela" é uma parte do andar "Cliente".
Antigamente faziam-se aplicações de 3 andares (interface grafica, processamento, persistencia)
Hoje é normal ter 5 (cliente, apresentação, negocio, integração e persistencia) , sobretudo em sistemas web.
Ha ainda a aquitetura em 3 camadas , que na realidade significa :Arquitetura com 3 nodos. (nodo = 3 máquinas : servidor de bando de dados, servidor de aplicação , máquinas clientes)
O termo "camada" é ruim mesmo e deve ser evitado a bem da boa comunicação.
|
Criando sua própria API de Validação
Blog do MiddleHeaven |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 16/10/2009 18:27:34
|
erickfm8
GUJ Master
Membro desde: 06/10/2009 19:29:12
Mensagens: 1396
Offline
|
Bom pessoal é isso ai ,,, esse assundo de ´Camadas e MVC é muito complexo mais ALGUMAS COISAS E JA POSSO AFIRMA
CAMADAS SAO CONCEITOS BEM DIFERENTES DE MVC
-CAMADAS DIZ COMO AGRUPAR OS COMPONENTES
-MVC DIZ COMO ELES INTERAGEM .
Um forma de ilustrar isso pode ser assim
Exemplo... um exemplo de uma aplicação de 3 camadas e aonde o MVC se encaixa
Apresentacao ( View , controle )
Negocio (model)
Dados
Basicamente é isso pessoa, e so com muitas lidas e tals que iremos fixar esse conceito...
Pois vai um link que foi o melhor que eu axei na net até agora (OBS: o melhor desse link são os comentarios que explica direitinho o conceito)..
http://alexmrg.wordpress.com/2006/12/28/what-the-fuck-is-mvc/
Obrigado.
|
Bacharel em Sistema de Informação
SCJP - Sun Certified Java Programmer
OCWCD - Oracle Certified Web Component Developer (Estudando..) |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 18/10/2009 12:38:43
|
pedromuyala
JavaEvangelist
![[Avatar]](/images/avatar/bdf429cf164fa35c126cfc08dbb80395.jpg)
Membro desde: 02/01/2009 19:08:04
Mensagens: 340
Offline
|
erickfm8 wrote:Sim,,,,, Mais o post desse Topico é para fazer o relacionamento em desenvolvimeto Desktop , priferencialmente usando swing,,, aguem mais para dar opnião?
obrigado a todos.
Tem este tópico que abrange bem o assunto de MVC para Desktop, Swing e até um pouco de Web.
http://www.guj.com.br/posts/list/0/129277.java
Vou colocar o seu tópico lá também para que as pessoas que buscam MVC também achem o seu.
Um abraço, espero ter colaborado!
This message was edited 1 time. Last update was at 18/10/2009 12:39:10
|
"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".
|
|
|
 |
|
|