Pense assim, uma das vantagens do modelo MVC é que você pode alterar o View (seu JFrame) sem causar impactos no resto do sistema.
Alguém tem que ser responsável por pegar as informações e trabalha-las, para que tanto o model possa armazena-las e o view possa exibi-las. O responsavel por isso é uma classe Controller.
Por exemplo: Um usuario acessa um sistema e começa a cadastrar seu pedido. Ele escolhe varios produtos para comprar. Um controller fica responsavel por guardar essas informações e trabalha-las enquanto o usuário não fecha o pedido (que daí o model irá guardar). Além disso o Controller fará verificações para ver se o cliente não está comprando dois produtos iguais, se a compra tem um valor mínimo ou máximo, ou outras coisas que o sistema precisa saber/fazer…
Espero ter ajudado. Se você souber bem ingles, deve ter uns bons artigos na net pra ver.
jaso
Cara, ajudou sim, mais na verdade essa parte eu ja entendi, pelo menos acho sacou, o que eu nao to sabendo separar sao os codigos, tipo, assim : Quando o usuario clica no botao gravar, intaum a classe View, manda para a controller as informacoes lidas, nos JText, trata essas informacoes que manda para a model, e a model grava isso, no banco, acho que isso eu entendi, so nao to entendendo como passar isso para meus codigos sei la acho que e isso !!!
B
Bruno_Laturner
MVC é simples. Pense no seguinte:
Você tem que fazer um sistema web e um desktop. Os dois são as interfaces pra fazer a mesma coisa. Você não vai querer escrever o sub-sistema de gravação duas vezes.
MVC é ter muitos Vs e Cs para um mesmo M.
Marcio_Nogueira
O MVC possibilita estruturar seu projeto de forma a se tornar mais flexível. Pense como sendo uma estrutura semelhante a estrutura de pacotes em um projeto Java.
No pacote Modelo (Model) você terá a lógica de negócios de sua aplicação.
No pacote Visão (View) você terá seus arquivos JSPs e interface com o usuário.
No pacote Controle (Control) você terá seus servlets e actions de controle de sua aplicação.
dê uma olhada na apostila fj21 da caelum, no capítulo 13 tem um exemplo de como construir seu próprio framework MVC, acho que pode te ajudar a entender melhor…
abs
L
Leonardo3001
A view só conhece o model, não conhece seu controlller, tanto que o controller precisa ficar “ouvindo” os eventos da view pra fazer alguma coisa. O que você havia falado está correto: a view conhece o model; o controller conhece a view e o model; e o model não conhece ninguém.
Uma coisa que me fez cair a ficha foi a percepção de que o Model, a View e o Controller não possuem o mesmo tamanho. O Controller, num MVC bem empregado, é pequeno em relação ao demais. No Swing chega a ser apenas aquela inner class que responde a um evento, não precisa nem estar num pacote separado.
No MVC para a web, o evento é somente a submissão de um formulário contendo pares chave-valor. Os frameworks já fazem parte da atividade do controller (converter os parâmetros em objetos, e transformar o evento em uma ação), bastando somente a nós definir o que significa cada ação em termos de chamada a métodos do model e definir qual a próxima view a ser instanciada.
L
Leonardo3001
Guilherme Gomes:
Pense assim, uma das vantagens do modelo MVC é que você pode alterar o View (seu JFrame) sem causar impactos no resto do sistema.
Alguém tem que ser responsável por pegar as informações e trabalha-las, para que tanto o model possa armazena-las e o view possa exibi-las. O responsavel por isso é uma classe Controller.
Por exemplo: Um usuario acessa um sistema e começa a cadastrar seu pedido. Ele escolhe varios produtos para comprar. Um controller fica responsavel por guardar essas informações e trabalha-las enquanto o usuário não fecha o pedido (que daí o model irá guardar). Além disso o Controller fará verificações para ver se o cliente não está comprando dois produtos iguais, se a compra tem um valor mínimo ou máximo, ou outras coisas que o sistema precisa saber/fazer…
Na realidade, essa é a definição de um façade da camada de aplicação (de um possível sistema em camadas). Mas a camada da aplicação, e tudo abaixo dela, é apenas o M no pattern MVC. O controller faz apenas isso:
recebe eventos;
interpreta parâmetros de entrada;
invoca métodos no model de acordo com o evento;
chama a view apropriada de acordo com o resultado do model.