4. Patrones
Un patrón es una solución probada que se puede aplicar con
éxito a un determinado tipo de problemas que aparece con
frecuencia.
Esqueleto de aplicación básica que el diseñador ha de adaptar
a sus necesidades.
Un patrón de diseño en software es una colección de objetos
que incluye:
Relaciones entre estos objetos
Desarrollados para resolver un problema concreto
Se ha comprobado que funcionan bien (han sido testados).
5. 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.
Define una buena arquitectura para un sitio web
Especifica el uso de clases para dividir nuestra
aplicación:
Lógica del negocio -> datos persistentes
Lógica de presentación -> como visualizamos los
datos
Flujo de la aplicación -> a través del controlador
6. MVC: Modelo
Conjunto de Clases y Objetos correspondientes al Modelo
del Negocio para nuestra aplicación (estados y
funcionalidad)
Es deseable un bajo acoplamiento con Vistas y
Controladores
Se definen métodos para realizar consultas (informar el
estado), comandos (modificar el estado) y mecanismos de
notificación (para informar a los observadores / vistas)
Modelo
Controlador
Vista
7. MVC: Vista
Administra la visualización y presentación de la
información
Observa al Modelo para actualizar los cambios
Al definirse en el modelo una interfaz clara y estable, es
fácil implementar múltiples Vistas para un mismo modelo
Altamente dependiente del dispositivo y tecnología de
visualización
Muy dependiente del Modelo (debe conocerlo)
Modelo
Controlador
Vista
8. MVC: Controlador
Responsable de definir el comportamiento de la aplicación
Recibe los eventos del usuario y decide qué es lo que se debe
hacer, mapeándolos en comandos (mensajes) hacia el
Modelo
Altamente dependiente de los dispositivos y mecanismos de
interacción del usuario
Muy dependiente del Modelo (debe conocerlo)
Modelo
Controlador
Vista
9. Agenda
Conceptos Generales
Esquemas
Aplicación del Patrón
Versiones del Patrón
Mecanismos de Notificación
Ejemplos
¿ Preguntas y Respuestas ?
24. MVC (Notificación)
Eventos
Totalmente desacoplado
Vistas escuchan y responden a los eventos de
notificación de sus respectivos modelos (si les
interesa)
Modelo desconoce qué pasa, sólo responde a los
mensajes recibidos (comandos y consultas)
Modelo Vista
update
25. MVC (Notificación)
Observadores / Vistas Asociadas
Modelo conoce la existencia de
“observadores” o vistas asociadas
Les envía activamente un mensaje de
notificación (sin información)
Fácil de implementar, pero limitado en
flexibilidad
El controlador también puede observar al
modelo
Modelo Vista
update