El modelo–vista–controlador (MVC) es un patrón de arquitectura
de software que separa los datos y la lógica de negocio de una
aplicación de la interfaz de usuario y el módulo encargado de
gestionar los eventos y las comunicaciones.
Modelo
Es la representación de
la información con la
cual el sistema opera,
por lo tanto gestiona
todos los accesos a
dicha información,
tanto consultas como
actualizaciones,
implementando
también los privilegios
de acceso que se hayan
descrito en las
especificaciones de la
aplicación (lógica de
negocio). Envía a la
'vista' aquella parte de
la información que en
cada momento se le
solicita para que sea
mostrada (típicamente
a un usuario). Las
peticiones de acceso o
manipulación de
información llegan al
'modelo' a través del
'controlador'.
Controlador
Responde a eventos (usualmente acciones del usuario) e invoca peticiones al 'modelo'
cuando se hace alguna solicitud sobre la información (por ejemplo, editar un documento
o un registro en una base de datos). También puede enviar comandos a su 'vista' asociada
si se solicita un cambio en la forma en que se presenta el 'modelo' (por ejemplo,
desplazamiento o scroll por un documento o por los diferentes registros de una base de
datos), por tanto se podría decir que el 'controlador' hace de intermediario entre la 'vista'
y el 'modelo'
Vista
Presenta el 'modelo'
(información y lógica de
negocio) en un formato
adecuado para interactuar
(usualmente la interfaz de
usuario) por tanto requiere
de dicho 'modelo' la
información que debe
representar como salida.