Minhas telas serião a: View
Uma classe que valide um cpf por exemplpo seria a: Controller
E que tipo de classe seria a Model???
No caso poderia ser uma classe de getters e setters ou uma inserção no banco de dados???
dá uma lida aki tbm, e tem uma explicação de Swing
no caso tela são view sim…
Uma classe que valide um cpf por exemplpo seria a: Controller não isso entra na Model…
controle seriam as parte de componentes q eventos da classe swing… mas dá uma lida no artigo que ele explica mto bem…
abr
Model é o tipo de classe onde vc literalmente modela algo para se trabalhar dentro de um sistema…
um exemplo bobo, mas que te ajuda a entender é um cadastro de clientes:
sua classe Model seria a própria classe Cliente.java, por exemplo…
nessa classe vc só vai definir os atributos de um cliente, como:
nome
telefone
email
claro que esse é um exemplo bem didático, mas acho que deu para ter uma noção melhor…
Boa Noite. Também tenho uma dúvida sobre MVC. Quando submeto na interface (View), um cadastro de cliente por exemplo, com alguns campos para o banco de dados. Eu primeiro gravo os dados em um objeto do Model, depois faço validação e envio para o banco no Controller? Ou eu valido os campos que vem da interface no Controle, e depois disso coloco em objeto no model e submeto para o banco?
[quote=mfellipe]Boa Noite. Também tenho uma dúvida sobre MVC. Quando submeto na interface (View), um cadastro de cliente por exemplo, com alguns campos para o banco de dados. Eu primeiro gravo os dados em um objeto do Model, depois faço validação e envio para o banco no Controller? Ou eu valido os campos que vem da interface no Controle, e depois disso coloco em objeto no model e submeto para o banco?
Felipe.[/quote]
Não há sentido nenhum em validar os dados após gravá-los no banco.
Pessoal, já li uma vez não lembro onde, mas com certeza foi bem marcante pra o entendimento da abordagem MVC. O exemplo foi o seguinte:
Ambiente: Um Video-cassete (hoje podemos imaginar um DVD player), uma televisão, e um controle remoto.
Qual o papel do video-cassete? ler a fita e enviar para a visao, neste caso a TV. ( obs: o video nem conhece a visao, apenas conhece a maneira de enviar as informações, a interface e o protocolo).
e o controle remoto…? tem um conjunto de ações (actions) que manda para o video cassete.
Alem da função de ler a fita o video cassete tb tem um controlador de ações, ne isso?
Outro ponto, o video cassete tb possui um estado que é refletido no seu visor. Mas isso nao significa a View do sistema.
eu poderia ficar escrevendo um monte de detalhe deste ambiente, mas no momento acho q ja é o bastante, e deixo q vcs completem, ou discordem desta relação.
public void setSenha(String senha) {
this.senha = senha;
}
public String getSenha() {
return this.senha;
}
}
[/code][/quote]
Não. Mil vezes não.
Essa classe representa no máximo uma entidade do sistema.
Primeiro, essa classe não lança eventos para a view e/ou para o controlador. Isso é essencial para se possa falar de MVC. Alías essa classe não tem noção que existem outras classes. Dificilmente será algo no padrão MVC. Se vc usa Swing, o proprio swing é a sua View. ( a sua, não a dele). O controlador são os modelos do Swing, como o TableModel. É com eles que vc analiza e reage aos eventos do usuário. O modelo são seus serviços de dominio e/ou façades de dominio. As informações que trafegam dentro destas classes não são nada no MVC.
Se vc usa web, com struts por exemplo, a sua view é o proprio struts o seu controlador é que vc constroi dentro dos objetos action do struts e o seu modelo são igualmente os serviços e façades do seu dominio.