Um pouco mais sobre MVC

15 respostas
L

Eu sei que existem vários tópicos sobre MVC mas eu ainda estou com algumas dúvidas, e gostaria de uma comparação com VB ( eu programo em vb, mas estou mudadno para java).

Em vb temos 3 camadas… 1 front end, 2 regra de negócio (dlls, etc), 3 banco de dados.

No padrão MVC qual camada faria o papel das camadas do VB?
A parte de view eu entendi, seria o front end, mas o controller e model que não sei, por que fora essas três camadas ainda teria a do banco de dados certo? Só para esclarecer um pouco

15 Respostas

Rafael_Steil

Eh exatamente a mesma coisa. MVC nao eh do Java, eh apenas um padrao, sem estar ligado a alguma tecnologia em especifico.

Rafael

Bani

Eu discordo um pouco sobre ser a mesma coisa… Na maior parte das vezes, o controler acaba usando (e muito) as propriedades de orientação a objetos (interfaces, superclasses, etc), para que sua utilizade seja realmente ajudar no código e não atrapalhar.
Sendo assim, uma linguagem que nem tem orientação a objetos acaba ficando mais com um front-end e uma lógica apenas. Pode até dividir “lógica e acesso a banco”, mas no MVC eu acho que ambos caem no “M”.

L

Eu tenho tido um pouco de dificuldade pois o vb não é realmente orientado a objetos , então muda algumas coisas. Alguem poderia me indicar um bom livro sobre padrões de projeto, mas não um livro teórico, queria algo mais prático, que mostrasse o desenvolvimento utilizando MVC (ou algum outro padrão mais utilizado se houver).

Rafael_Steil

Bom Bani, nao eh exatamente a mesma coisa, mas no fundo a ideia eh a mesma, sao as mesmas 3 camadas. Como MVC nao diz explicitamente onde cada coisa deve necessariamente ficar, fica a cargo ( ou culpa ) do desenvolvedor implementar.

Em relacao ao livro, nao conheco nenhum especifico sobre MVC. MVC eh realmente simples. O que voce tem que fazer eh pegar o editor de codigos e comecar a codar, para ver como funciona… logicamente voce nao vai fazer o sistema perfeito na primeira tentativa, mas aos poucos vc vai pegando… eh o processo natural de aprendzagem.

Sobre Design Patterns, tenho o Core J2EE Patterns. Eh uma boa fonte de referencia inicial
http://www.temporeal.com.br/mod_perl/livraria.pl?acao=ver_detalhes&isbn=[telefone removido]&volume=0&ano_publ=2002&rnd=GUJ

Rafael

Rafael_Steil

Nao eh verdade. Primeiro, MVC nao eh somente para web, pode ser para qualquer caso aplicacavel… ( Swing, por exemplo ).
Nao existe uma regra dizendo exatamente como deve ser implementado MVC. Por exemplo, para a camada de dados da para implementar DAO em conjunto. Para a camada do Controller, eh mto comum usar Command… MVC raramente eh usado sozinho.

EJB nao roda somente no JBoss, como da a entender a tua resposta.

Elvis.The.Pelvis

Rafael tem razão. O MVC surgiu com a Smalltalk no período jurássico da computação. O MVC originalmente era orientado a eventos e, como não possuímos tal coisa na web, ele foi adaptado para as arquiteturas Model 1 (mais simples) e Model 2 para poder ser utilizado na web.

oazuc

Pelvis, :wink:

vc recomenda algum livro sobre Smalltalk que fale do MVC?

Rafael_Steil

Google:

http://www.google.com/search?q=smalltalk+mvc
http://www.google.com/search?q=smalltalk+mvc+tutorial
http://www.google.com/search?q=smalltalk+mvc+book

Rafael

kuchma

Creio que nao. JBoss nao eh a RI para J2EE ou mesmo EJB. Eles ate mesmo estavam “se batendo” ha um tempo atras para conseguir o reconhecimento oficial da Sun (para serem um servidor J2EE “Sun Certified”). Agora nao sei como esta esse processo - talvez ja ate tenham conseguido. Mas isso nao faz dele o “contentor oficial”.

Marcio Kuchma

kuchma

Em portugues: http://www.temporeal.com.br/produtos.php?id=166686

Ja vi, mas nao li.

Marcio Kuchma

oazuc

Ah, blz… Eu já conhecia o Sr. Google, até batemos um papinho com ele a semana passada aqui no Guj, lembra? :wink:

Reiterando: [color=“indigo”]recomenda [/color]algum livro sobre Smalltalk que fale do MVC.

valeu, Paulo.

N

Se você quer fazer uma brincadeira com MVC em Java, você pode fazer o seguinte.

1 - Implementar a VIEW em JSP.

2 - Implementar um servlet como Controller.

3 - Implementar EJB’s como o Model, ou classes que façam a sua persistência no banco (só para quebrar o galho e não usar EJB).

Assim dá para fazer uma brincadeira inicial de MVC em Java.

Depois, dá uma olhadinha no Struts, você vai babar.

Rafael_Steil

“net_sandro”:
3 - Implementar EJB’s como o Model, ou classes que façam a sua persistência no banco (só para quebrar o galho e não usar EJB).

“quebrar o galho”? Como se EJB fosse a solucao dos problemas do mundo.


Depois, dá uma olhadinha no Struts, você vai babar.

Sera? :wink:

Rafael

dreamspeaker

Eu acho melhor fazer com DAO, é mais fácil.

Talvez, sim, mas eu tô estudando Struts agora (inclusive com um livro indicado aqui no GUJ), e tô demorando um pouquinho pra começar a babar…

N

DAO é uma excelente opção.

EJB realmente não é “a solucao dos problemas do mundo”. Assim como Java, .NET, etc… também não o são.

:stuck_out_tongue:

Criado 28 de janeiro de 2003
Ultima resposta 9 de mar. de 2004
Respostas 15
Participantes 8