Model-view-controller
O MVC (Model-View-Controller) é um modelo de desenvolvimento de software que hoje é nomeado como arquitetura padrão. O modelo utiliza 3 (três) camadas, separadas em: Apresentação, controle e armazenamento (lógica). * A camada de apresentação (view) é responsável por interagir com o usuário, ela não é responsável pelos dados, e sim em exibi-los e recebê-los. Essa interação e dada por meio de HTML, XML, ASP, Ajax.
* A outra camada é a de controle (controller), essa camada é responsável por mapear e controlar todas as ações. A camada de controle faz o papel de intermediário entre a camada de apresentação e a camada de armazenamento.
Segundo o site Code Igniter Brasil, a camada de controle é quem decide “se”, “o que”, “quando”, “onde” e tudo o mais que faz com que a lógica funcione.
* A camada de armazenamento (Model) é responsável por tudo relacionado a dados, desde manipulação, geração e o armazenamento de dados em seu banco, e também realiza consultas.
Suas vantagens: I. Fácil manutenção; II. Paralelismo no desenvolvimento; III. Código limpo; IV. Reaproveitamento de código; V. Diversas tecnologias estão adotando essa arquitetura. Desvantagens: I. Tempo, pois exige muito tempo para analisar e modelar o sistema; II. Profissionais especificados;
Existem outros modelos além do MVC?
A resposta é sim! Outras arquiteturas que já foram usadas no passado, mas agora não estão mais em alta, são elas: * Aplicações monolíticas * Aplicações em duas camadas.
Referências: http://www.slideshare.net/almirnet/apresentacao-949009 (Almir Neto e Otávio Calaça – Slideshow); http://www.oficinadanet.com.br/artigo/desenvolvimento/o_que_e_model-view-controller_mvc (O que é Model-view-controller?); http://www.macoratti.net/vbn_mvc.htm (Padrões de Projeto : O modelo MVC - Model View Controller) http://codeigniterbrasil.com/passos-iniciais/mvc-model-view-controller/ (MVC (Model – View – Controller)).