Boa Noite!
Há alguns dias, pesquisei muito sobre o MVC (desde sua aplicação no Smalltalk até hoje em aplicações Java). Surgiram, então, dúvidas cruéis sobre a interação das partes na hora de sua implementação (em Desktop / Swing). Observe as duas imagens em anexo neste tópico.
Baseado no conceito de: “Desacoplar as partes do MVC de forma que ao precisar trocar ou modificar uma das parte isso não influenciará em modificações nas demais partes, tornando assim o sistema escalável e com maior facilidade de manutenção.” Como tornar isso implementável?
Como exemplo vamos imaginar um sistema de cadastro qualquer, sem persistencia, dividido em MVC (Modelo, Visão e Controle).
Surgem então as perguntas:
- O main, deverá chamar quem (instaciar): O Controle e/ou a Visão e/ou o Modelo?
- O Controle interage com quem? (instancia Modelo e/ou Visão?) De que forma?
- A Visão interage com quem? (instancia Controle e/ou Modelo?) De que forma?
- Quando o Modelo for alterado, quem vai alterar a Visão? De que forma? (Visão vai instanciar Modelo??? como implementar)
- Restrições de dados inválidos (tipo inválido de dado para um atributo do modelo) serão bloqueados na Visão?
- Como estamos baseados em um cadastro, o métodos CRUD ficarão no Controle?
- Quem vai avisar a Visão se uma das 4 operações do CRUD foi executada com sucesso ou não?
Respondida as perguntas, questiono: Olhando agora as respostas, o sistema realmente será implementado no padrão MVC a tal modo de poder a qualquer momento, baseado no conceito citado acima, passa-lo para WEB simplesmente trocando a minha Visão(GUI)?
Para fechar, observando as imagens em anexo deixo mais duas perguntas:
8- No View, observa-se a citação “Renderiza o Model”. O que é isso?
9) Qual seria o caminho (fluxo) feito pelo sistema de cadastro se eu quiser agora alterar dados que já estão no Modelo?
10) Para um Modelo ser um Bean, ele precisa ter obrigatoriamente um construtor vazio?
Felicidades a todos do fórum, sou novo aqui e espero poder compartilhar com todos informações de interesse geral. Um feliz 2009 com bastante saúde e sucesso. Obrigado!