Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

João Batista Neto

O Que é MVC - Introdução

Recommended Posts

Constantemente ouvimos falar de MVC, mas o que de fato é MVC ?

 

Se você respondeu que MVC é model-view-controller, um ponto para você, afinal, é uma tradução literal.

 

Mas na verdade, MVC é muito mais que um acrônimo, MVC é um padrão de arquitetura que descreve como três camadas de desenvolvimento relacionam entre si. Martin Fowler, em seu livro P of EAA descreve MVC da seguinte forma:

 

Imagem Postada

Muitos já devem ter visto esse diagrama antes, mas, o que ele realmente significa ?

 

Quando estamos diante de uma interface de usuário de uma aplicação, temos uma série de ferramentas para interagir com a aplicação, é através dessa interface que podemos listar informações, excluir ou adicionar novos dados; Porém, é equivocado dizer que a interface de usuário é a definição da View, durante o desenvolvimento de uma aplicação poderão ocorrer situações onde uma aplicação não se destina ao usuário final, mas a uma outra aplicação na forma de API, então, se a UI não é a View, o que é a View ?

 

View: A view é a organização lógica da Model de uma aplicação de forma que as informações possam ser compreendidos por uma entidade.

 

Bom, se a View é a organização da Model, o que é a Model ?

 

Sempre que temos um conjunto de dados em algum mecanismo de armazenamento (não necessariamente banco de dados), utilizamos uma camada específica para recuperá-los. O padrão MVC surgiu por volta de 1970 para resolver um problema sério da época. Antes, as aplicações eram instaladas individualmente máquina por máquina, isso significa que em uma rede com 500 máquinas eram necessárias 500 instalações com bancos de dados individuais.

 

Como cada máquina tinha seu próprio banco de dados, nenhuma instância da aplicação era capaz de ter as informações necessárias de outras máquinas em tempo real. Para solucionar esse problema, as aplicações foram divididas inicialmente em duas camadas onde, um servidor central seria responsável pelo banco de dados e todas as máquinas compartilhariam os mesmos dados.

 

Agora, imagine que, logo após essas instalações, uma nova realidade de mercado ocasionasse em uma adaptação da forma como os dados eram inseridos ou recuperados da aplicação, 500 atualizações eram necessárias e o custo disso era enorme.

 

Para solucionar esse problema, surgiu o padrão MVC onde as máquinas eram responsáveis apenas por renderizar os dados e, através de um servidor de aplicação, toda a lógica do negócio poderia ser compartilhada e o acesso a dados seria abstraído.

 

Bom, voltando a 2010, o padrão MVC descreve três camadas, a Model trabalha com os dados, a View representa os dados de forma lógica e a Controller ?

 

Controller: Para que uma informação seja exibida pela View é necessário que antes exista uma requisição, seja ela implícita ou explícita. Sempre que uma requisição é feita, um controlador de aplicação intercepta essa requisição, verifica se é válida e responde com uma View apropriada, seja na forma de mensagem de erro ou com um conjunto de dados vindos da Model.

 

Implementando MVC:

 

Para ilustrar MVC vamos desenvolver uma aplicação para colunistas que conterá:

 

Sistema de cadastro onde cada usuário será um colunista que poderá inserir novos artigos, editar seus próprios artigos e ler outros artigos.

Sistema de Busca, por colunistas e artigos.

 

Esse tutorial foi dividido em 4 tópicos, essa introdução e outros 3 que falam cada um exclusivamente de uma camada.

 

O Tópico que trata sobre a Model está disponível em: O Que é MVC - A Model

 

Falando sobre a View: Quinta-feira, 7 de Janeiro

Falando sobre a Controller: Sábado, 9 de Janeiro

 

Caso algum tópico fique complexo demais ou alguém tenha alguma dúvida, poste-a no tópico referente a dúvida, para que assim possamos contextualizar e sanar qualquer dúvida que qualquer um possa vir a ter.

 

Espero que gostem.

 

;)

 

Referências:

http://pt.wikipedia.org/wiki/MVC

http://www.martinfow...Controller.html

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Muito legal e de grande valia.

À alguns dias mesmo eu estava buscando detalhes sobre o MVC mas pra ser sincero não tive ajuda no que encontrei, ao contrario do que você postou que está bem explicativo.

Parabéns.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Falando do seu padrão preferido né....

 

parabens pela iniciativa

 

:D

 

Apenas não deixem de ler os tópicos sobre as camadas, esse é só uma introdução.

 

A Model está em: http://forum.imasters.com.br/index.php?/topic/377063-o-que-e-mvc-a-model/

Compartilhar este post


Link para o post
Compartilhar em outros sites

João, parabéns mesmo pela sua iniciativa.

Vou estar acompanhando os outros 3 tópicos, mas não vejo a hora de chegar o último, pois assim pode ser que eu entenda um pouco mais de MVC e não só ouvir e ouvir falar sobre.

Claro, eu até imagino que seja algo um tanto mais complexo, mas para quem esta iniciando na parte de POO imagino que seja uma ótima oportunidade de aprender mais, e para quem esta iniciando com programação, melhor ainda, assim já pode começar a ver as melhores práticas.

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Depois atualiza seu post principal com os links do View e Controller

A busca do forum acha muita coisa quando manda procurar ;]

 

Abraços!

Sucesso!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Muito bom,

 

O link da model que está na pagina esta off, achei o link diretamente na pesquisa,

 

Segue pra quem quizer conferir:

 

A Model

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.