Model-Vista-Controlador
Aparença
L'arquitectura Model–Vista–Controlador (MVC) és un patró de disseny utilitzat per a la implementació d'interfícies d'usuari. Aquest patró de desenvolupament de programari divideix l'aplicació en tres parts interconnectades: el model de dades, la interfície usuari i la lògica de control. El patró MVC es veu freqüentment en aplicacions web, on es pot visualitzar una pàgina HTML i el codi que proveïx de dades dinàmiques a la pàgina, el controlador és el sistema de gestió de bases de dades i el model és el model de dades.[1][2][3]
Descripció
[modifica]Tradicionalment MVC s'ha emprat per a interfícies gràfiques d'usuari (GUIs), aquesta arquitectura ha esdevingut popular per al disseny d'aplicacions web.
Es poden definir els components de MVC de la següent forma:
- El Model: és la representació de la informació amb la qual el sistema opera, per tant gestiona tots els accesos a aquesta informació, tant consultes com actualitzacions, implementant també els privilegis d'accés que s'hagin descrit en les especificacions de l'aplicació (lògica del negoci). Envia a la 'vista' aquella part de la informació que en cada moment li sol·licita perquè sigui mostrada (típicament a un usuari). Les peticions d'accés o manipulació d'informació arriben al 'model' a través del 'controlador'.
- El Controlador: respon a esdeveniments (usualment accions de l'usuari) i invoca peticions al 'model' quan es fa alguna sol·licitud sobre la informació (per exemple, editar un document o un registre en una base de dades). També pot enviar comandes a la 'vista' associada si es sol·licita un canvi en la forma en què es presenta el 'model' (per exemple, desplaçament o scroll per un document o per diferents registres d'una base de dades), per tant es podria dir que el 'controlador' fa d'intermediari entre la 'vista' i el 'model' (vegeu Programari intermediari (Middleware)).
- La Vista : presenta el 'model' (informació i lògica de negoci) en un format adequat per a interactuar (usualment la interfície d'usuari) per tant cal que proveeixi la informació de sortida del 'model'.
Vegeu també
[modifica]Referències
[modifica]- ↑ «Model-View-Controller» (en anglès). https://msdn.microsoft.com.+[Consulta: 20 juny 2017].
- ↑ «Understanding Model-View-Controller» (en anglès). https://blog.codinghorror.com.+[Consulta: 20 juny 2017].
- ↑ «Trygve/MVC» (en anglès). http://heim.ifi.uio.no.+[Consulta: 20 juny 2017].