Tecnologia
O padrão MVC foi criado originalmente em 1979 por Trygve Reenskaug, como padrão de projeto arquitetural para o ambiente Smalltalk, e a implementação original é totalmente descrita profundamente no artigo "Applications Programming in Smalltalk-80: How to use Model–View–Controller". É uma arquitetura que permite dividir as funcionalidades do sistema ou site em camadas, sendo que esta divisão busca a facilidade da resolução de um problema maior, fornecendo uma maneira de divisão da funcionalidade envolvida na manutenção e apresentação dos dados de uma aplicação. É um padrão arquitetural que divide as aplicações em três camadas independentes, que são:
a) Modelo (Model) é o modelo da aplicação, onde se define as propriedades e atributos, e representa os dados da aplicação e as regras do negócio que determinam o acesso e a modificação dos dados. Fornece ao controlador a capacidade de acesso às funcionalidades da aplicação encapsuladas pelo próprio modelo.
b) Visão (View) é a camada de visualização da aplicação, representa os dados desta e as regras do negócio que governam o acesso e a modificação dos dados, fornecendo ao controlador a capacidade de acessar as funcionalidades da aplicação encapsuladas pelo próprio modelo. É o que chega ao usuário, a parte visual de interface e não deve ter nenhuma lógica de código, apenas exibição de dados. Ela define o comportamento da aplicação, interpretando as ações do usuário e as mapeia para chamadas de modelo, tais ações de usuários em aplicações Web poderiam ser cliques de botões ou seleções de menus.
c) Controlador (Controller) é onde serão processadas todas as requisições feitas através da interface (Visão), recebendo a entrada de dados e iniciando a resposta ao usuário ao invocar objetos de modelo. É responsável pelo fluxo da aplicação, bem como pela validação e filtragem da entrada de dados, pois toda lógica da aplicação é feita nesta camada, funcionando como um