NF1 - Model Vista Controlador (10h)
MVC
Introducció
El patró d'arquitectura MVC (Model Vista Controlador) és un patró de desenvolupament de software que defineix l'organització independent del Model (Objectes de Negoci), la Vista (interfície amb l'usuari o un altre sistema) i el Controlador (controlador del workflow de l'aplicació).
L'arquitectura MVC separa la lògica de negoci (el model) i la presentació (la vista) pel que s'aconsegueix un manteniment més senzill de les aplicacions. Si per exemple una mateixa aplicació ha d'executar-se tant en un navegador estàndard com un un navegador d'un dispositiu mòbil, solament és necessari crear una vista nova per a cada dispositiu; mantenint el controlador i el model original. El controlador s'encarrega d'aïllar al model i a la vista dels detalls del protocol utilitzat per a les peticions (HTTP, consola de comandos, email, etc.). El model s'encarrega de l'abstracció de la lògica relacionada amb les dades, fent que la vista i les accions siguin independents de, per exemple, el tipus de gestor de bases de dades utilitzat per l'aplicació.
D'aquesta forma, dividim el sistema en tres capes on, com explicarem més endavant, tenim l'encapsulació de les dades, la interfície o vista per un altre i finalment la lògica interna o controlador.
- El Model representa la informació amb la qual treballa l'aplicació, és a dir, la seva lògica de negoci.
- La Vista transforma el model en una pàgina web que permet a l'usuari interactuar amb ella.
- El Controlador s'encarrega de processar les interaccions de l'usuari i realitza els canvis apropiats en el model o en la vista.
Per entendre com funciona el nostre patró Model - vista - controlador, s'ha d'entendre la divisió a través del conjunt d'aquests tres elements i com aquests components es comuniquen uns amb els altres i amb altres vistes i controladors externs al model principal. Per a això, és important saber que el controlador interpreta les entrades de l'usuari (tant teclat com el ratolí), enviat el missatge d'acció al model i a la vista perquè es procedeixi amb els canvis que es considerin adequats.