Como utilizar o MVC
O padrão MVC (Model View Controler) que traduzido siginifica uma camada de Modelo, Visão e Controle que também é conhecido por representar uma arquitetura de software, é bastante divulgado e comentado, entretanto ao se tentar implementar um software com esse padrão muitas dúvidas surgem e na prática ficamos com a teoria e não sabemos como efetivamente implementar esse padrão.
Após ler diversos materiais sobre o assunto gostaria de fazer um apanhado geral do que encontrei na tentativa de esclarecer o processo de desenvolvimento em 3 camadas chamado de MVC.
As funções das camadas são:
M – MODEL: Encapsula o núcleo da aplicação e a abstração dos dados
V – VIEW: Obtém os dados de um modelo e apresenta para o usuário
C – CONTROLLER: Recebe as requisições e as encaminha para processamento
Model
Esta camada deve ser independente e funcionar de forma exclusiva. Sua principal característica é fazer a abstração dos dados e dos mecanismos de armazenamento. Seu funcionamento ocorre de forma passiva, ou seja, não possui conhecimento dos níveis superior.
View
Camada de apresentação de dados. Representa a saída e fornece o mecanismo de entrada dos dados. Esta camada pode acessar diretamente o modelo para consultas (através dos métodos que esse oferece), contudo, não pode alterar o modelo.
Controller
São responsáveis pelas chamadas de métodos que alteram o modelo, sendo responsável por comunicar a camada de visão para se atualizar. Algo importante a se destacar é que esta camada não é uma ponte entre as outras duas camadas. Afinal ambos (Controller e View) tem a oportunidade de acessar o modelo.
Relacionamentos entre as camadas
- View e Controller:
Na definição do MVC as duas camadas são extremamente dependentes, de modo que o Controller é o mecanismo que o view possui para salvar os dados e os atualizar.
- View e Model:
O View depende do Model e as alterações no modelo necessitam que a visão seja alterada.
- Controller e Model:
O Controller depende do Model e as alterações no modelo são realizadas por esta camada.

Oi Rivolli,
Ao ler seu post, surgiu um questionamento que espero contribuir para a discussão do tema.
O View deveria mesmo acessar o Model? O Controler não deveria ficar sabendo disso? Pois ele teria a responsabilidade de formatar o View de acordo com algumas regras ou permissão, ou ainda dispositivos diferentes.
Imaginei também, se seria bom e prático se a comunicação entre Controler para a View fossem feita via XML, onde o XSL determinaria o layout, design e formato final…
Como estou iniciando este estudo teórico, surgiu este pensamento acima… o que acha disso? Como vc encherga esta situação?
[]s
Eduardo
Eduardo
6 Março, 2008 em 12:06 am