Sei sulla pagina 1di 23

Modelo

Vista
Controlador

Prof.
Modelo-Vista-Controlador
• MVC es un patrón de diseño orientado a
objetos.
• Fue desarrollado en el Centro de
Investigaciones Xerox Palo Alto a finales de
los años setenta.
Motivación
• Discurso Académico vs. Discurso de la
industria.
• Calidad del Software.
• Diseño de software y desarrollo basado en
la arquitectura.
• ¿Cómo diseñar: Orientado a Objetos,
componentes, servicios, Patrones de
software?
¿Por qué utilizar en MVC en el
web?
• Es una solución que va muy bien con los
sitios web.
• Cada hit en una página es la interacción de
un usuario (entrada) con el sistema (el
servidor web procesando los scripts PHP).
Asumiendo que se necesita mantener
persistencia y que se necesita presentar la
información en una variedad de maneras, el
patrón MVC es una buena solución.
Diagrama de MVC
El Modelo
• El modelo es la porción que implementa la
“Lógica del Negocio”.
• Se le suele llamar el modelo porque
representa objetos y sus interacciones del
mundo real.
La vista
• Las vistas son las porciones de la aplicación
MVC que presentan salida al usuario.
• La salida más común para aplicaciones web
es el HTML. Podrían ser otras.
El controlador
• El controlador es el corazón de la aplicación
MVC. Este componente es el objeto que debería
estar pendiente de las solicitudes HTTP hechas por
el usuario.
• El controlador generalmente crea instancias de los
modelos y utiliza métodos de esos modelos para
conseguir los datos que se presentan a los
usuarios, enviándolos a la vista correspondiente.
Flujo solicitud para ver
Flujo modificación de los datos
Links
• CakePHP
• CodeIgniter
• ::phpPatterns()
• Ambivalence
• Eocene
• php.MVC
• phpPatterns() MVC2
• Phrame
EL PATRÓN MVC (MODELO VISTA
CONTROLADOR)

• Patrón de programación de aplicaciones.


• División de la aplicación en bloques:
• Modelo: Bloque encargado de la persistencia
de datos.
• Control: Bloque encargado de la gestión del
flujo de la aplicación.
• Vista: Bloque encargado de la capa de
presentación de la aplicación.
El patrón MVC (Modelo Vista Controlador)

POJOs
(Plain Old Java Object) Html, xhtml

Clases Java
Patrón MVC: El modelo
• Formado por clases sin lógica de negocio llamadas
POJO.
• 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.
• Define, no sólo la estructura de las tablas, sino las
relaciones entre ellas (Pk, Fk, one-to-one, many-to-
one…).
Patrón MVC: La 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.
Patrón MVC: El 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.
Patrón MVC: El controlador
• 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).
Patrón MVC: El controlador
• 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 determinad
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.
Patrón MVC: El controlador
• 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.
Patrón MVC: El controlador
• 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.
Patrón MVC: El controlador
• Autenticación y autorización:
• 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…).
Patrón MVC: El controlador
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.
Patrón MVC: El controlador
• 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.

Potrebbero piacerti anche