Está en la página 1de 16

PATRON MVC

Descripción

 Problema: Como modularizar la funcionalidad de


la interfaz de usuario de una aplicación Web de
tal forma que usted pueda modificar fácilmente
sus partes individuales?
 Solución: El patrón MVC (Model-View-Controller)
separa el modelado del dominio, la presentación y
las acciones basados en las entradas del usuario
en tres clases apartes. [Burbeck92]
MVC

 MODELO
 VISTA
 CONTROLADOR
•Es utilizado cuando un controlador
manipula el modelo exclusivamente
•El controlador modifica el modelo y le
informa a la vista que este ha cambiado y
debe ser refrescada.
•En este escenario el modelo es
completamente independiente de la vista y
del controlador
MODELO
• Formado por clases sin lógica de negocio
• Mapea la estructura de las tablas de BBDD en
clases Java.
• Sirve de intermediario entre el programador y
la BBDD, facilitando el acceso y manejo de los
datos.
• Permite leer, persistir y actualizar los datos
de manera sencilla para el programador.
VISTA

• Gestiona la capa visual de la


aplicación, también denominada
"Front-End".
• Es el enlace entre el usuario y la
aplicación.
• Especialmente sensibles a ataques de
seguridad.
• Debe estar modelada de una manera
que fomente la usabilidad y
accesibilidad.
CONTROLADOR
CONTROLADOR
• Gestiona toda la lógica de la aplicación.
• Ejerce de enlace entre la vista y el modelo.
• Encargado de las tareas de:
• Validación de datos.
• Flujo de navegación.
• Gestión de errores.
• Gestión de autenticación y autorización.
• Gestión de la persistencia.
• Conexión con servicios externos.
Validación de datos
• Comprueba que los datos introducidos son
acordes a lo que se espera (tipo de dato,
tamaño…).
• Evita ejecución de comandos maliciosos
introducidos en la capa de la vista. Ej:
Inyección SQL.
• Informa al usuario de los errores
producidos por la aplicación y/o los datos
de entrada (Mensajes informativos, no de
debug).
Flujo de navegación

• Fija las condiciones para navegar a una


determinada vista u otra.
• Permite fijar reglas complejas para calcular a qué
vista se va a navegar tras una determinada
acción.
• Fija las vistas a las que hay que navegar en caso
de error, falta de permisos, etc.
• Impide el acceso a vistas no autorizadas para el
usuario actual.
Gestión de errores

• Detecta situaciones de error y detiene el flujo


de la aplicación.
• Reacciona ante errores producidos en la
aplicación dejándola lo más estable posible.
• Debe proporcionar mensajes suficientes y
adecuados tanto a nivel de usuario como de
depuración.
Autenticación y autorización
• Autenticación y autorización:
• Autenticación es el proceso por el cual se comprueba
que el usuario es quien dice ser.
• Autorización es el proceso por el cual se restringe el
acceso del usuario a las áreas que tenga permitidas.
• Es crítico que ambos pasos no presenten problemas de
seguridad.
• Asegura que las credenciales introducidas por el
usuario son válidas para nuestro sistema.
• Carga el perfil del usuario definiendo a qué áreas de
la aplicación puede acceder, a parte de otros datos de
interés de su perfil (nombre completo, edad…).
Gestión de la persistencia

 Gestiona que los datos se persistan de manera


correcta.
 Asegura que en caso de error, los datos
persistidos son coherentes.
 Deshace cambios en caso que sea necesario.
Conexión con servicios externos

• Permite la conexión con:


• Servicios Web externos.
• EJB remotos.
• Gestiona la autenticación y autorización con
los servicios externos.
• Expone servicios propios para que otras
aplicaciones puedan acceder a ellos.
Ejemplo MVC

 http://codejavu.blogspot.com/2013/06/ejemplo-modelo-vista-
controlador.html

También podría gustarte