Gorobytes

Em uma "mistura" de bytes

Como utilizar o MVC

com um comentário

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.

Escrito por rivolli

13 Agosto, 2007 às 11:10 pm

Uma resposta

Subscreva aos comentários comRSS.

  1. 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


Deixe uma resposta