MVC

Origem: Wikipédia, a enciclopédia livre.
(Redirecionado de Mvc)
Ir para: navegação, pesquisa
Um diagrama simples exemplificando a relação entre Model, View e Controller. As linhas sólidas indicam associação direta e as tracejadas indicam associação indireta.

Model-view-controller (MVC) é um modelo de desenvolvimento de Software, atualmente considerado um Design Pattern (padrão de projeto) utilizado na Engenharia de Software. O modelo isola a "lógica" (A lógica da aplicação) da interface do usuário (Inserir e exibir dados), permitindo desenvolver, editar e testar separadamente cada parte.

Índice

[editar] História

O padrão MVC foi descrito pela primeira vez em 19791 por Trygve Reenskaug, que trabalhava no Smalltalk, na Xerox PARC. A implementação original é descrita em profundidade no artigo "Applications Programming in Smalltalk-80: How to use Model–View–Controller".2

[editar] Interação dos componentes

Além de dividir a aplicação em três tipos de componentes, o desenho MVC define as interações entre eles.

  • Um controlador (controller) pode enviar comandos para sua visão associada para alterar a apresentação da visão do modelo (por exemplo, percorrendo um documento). Ele também pode enviar comandos para o modelo para atualizar o estado do modelo (por exemplo, editando um documento).
  • Um modelo (model) notifica suas visões e controladores associados quando há uma mudança em seu estado. Esta notificação permite que as visões produzam saídas atualizadas e que os controladores alterem o conjunto de comandos disponíveis. Uma implementação passiva do MVC monta estas notificações, devido a aplicação não necessitar delas ou a plataforma de software não suportá-las.
  • A visão (view) solicita do modelo a informação que ela necessita para gerar uma representação de saída.

[editar] Uso em aplicações web

Apesar de desenvolvida originalmente para computação pessoal, o MVC foi amplamente adaptado como uma arquitetura para as aplicações World Wide Web em todas as linguagens de programação maiores. Muitos frameworks de aplicação comerciais e não comerciais foram criados, que aplicam o modelo. Estes frameworks variam em suas interpretações, principalmente no modo que as responsabilidades MVC são divididas entre o cilente e servidor.

Os frameworks web MVC mais recentes levam uma abordagem de thin client que colocou quase o modelo, a visão e a lógica do controlador inteiros no servidor. Nesta abordagem, o cliente envia requisições de hiperlink ou entrada de formulário ao controlador e então recebe uma página web completa e atualizada (ou outro documento) da visão. O modelo existe inteiramente no servidor. Como as tecnologias de cliente amadureceram, frameworks como JavaScriptMVC e Backbone foram criados o que permite que os componentes MVC executem parcialmente no cliente (ver também AJAX).

Um caso prático é uma aplicação web em que a visão é um documento HTML (ou derivado) gerado pela aplicação. O controlador recebe uma entrada GET ou POST após um estímulo do utilizador e decide como processá-la, invocando objetos do domínio para tratar a lógica de negócio, e por fim invocando uma visão para apresentar a saída

[editar] Justificativa

Com o aumento da complexidade das aplicações desenvolvidas,sempre visando a programação orientada a objeto nao devemos esquecer que torna-se relevante a separação entre os dados e a apresentação das aplicações. Desta forma, alterações feitas no layout não afetam a manipulação de dados, e estes poderão ser reorganizados sem alterar o layout.

Esse padrão resolve este problema através da separação das tarefas de acesso aos dados e lógica de negócio, lógica de apresentação e de interação com o utilizador, introduzindo um componente entre os dois, o controlador.

[editar] Plataformas de desenvolvimento

[editar] ActionScript 3

[editar] ASP

[editar] .NET

[editar] Java

[editar] Perl

[editar] PHP

[editar] Python

[editar] Ruby

Referências

[editar] Leitura adicional

Ícone de esboço Este artigo sobre Informática é um esboço. Você pode ajudar a Wikipédia expandindo-o.