Model, View e Controller
O MVC (Model, View e Controller ou em português Modelo, Visão, Controladora) é um padrão que lhe permite dividir as funcionalidades de seu sistema/site em camadas, essa divisão é realizada para facilitar resolução de um problema maior. Com o MVC possuímos três camadas básicas, e cada uma delas, com suas características e funções bem definidas.
Camadas
Model (Modelo)
É utilizado para manipular informações de forma mais detalhada, sendo recomendado que, se utilize dos modelos para realizar consultas, cálculos etc. Tem acesso a toda e qualquer informação sendo essa vinda de um banco de dados, arquivo XML.
View (Visão)
É responsável por tudo que o usuário final visualiza.
Controller (Controladora)
É responsável por controlar todo o fluxo de informação. É na controladora que se decide “se”, “o que”, “quando” e “onde” deve funcionar. É a controladora que executa uma regra de negócio (modelo) e repassa a informação para a visualização (visão).
Vantagens em utilizar MVC em seus projetos:
• Facilita o reaproveitamento de código;
• Facilidade na manutenção e adição de recursos;
• Diversas tecnologias estão adotando essa arquitetura;
• Facilidade em manter o seu código sempre limpo;
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