VIEW HANDLER
Presentado por
Alfredo de la Mora Díaz
Catedrático
Dr. Jesús Favela
VIEW HANDLER
El patrón de diseño VIEW HANDLER
ayuda a manejar todas las vistas que
provee un sistema de software. Un
componente VH permite a los
clientes abrir, manipular y disponer
de vistas. También coordina las
dependencias entre vistas y organiza
su actualización.
Contexto
Un sistema de software que provee
vistas múltiples de aplicaciones de
datos específicos, o que soporta el
trabajo con múltiples documentos.
Problema
Los sistemas de software que soportan
vistas múltiples necesitan funcionalidad
adicional para su manejo. Los usuarios
desean poder abrir, manipular y disponer
de vistas como ventanas y otros
contenidos a su conveniencia. Las vistas
deben ser coordinadas, para que la
actualización de una de ellas sea
propagada automáticamente a las vistas
de relación. Distintas fuerzas manejan la
solución a este problema:
• El manejo de vistas múltiples debe ser
fácil desde la perspectiva del usuario, y
también para los componentes del cliente
sin el sistema.
• Las implementaciones de vistas
individuales no deben depender las unas
de las otras o ser mezcladas con el código
usado para el manejo de vistas.
• La implementación de las vistas puede
variar y tipos adicionales de vistas pueden
ser agregados durante el tiempo de vida
del sistema
Solución
Un componente VH maneja todas las
vistas que el sistema de software
provee. Ofrece la funcionalidad
necesaria para abrir, coordinar y
cerrar vistas específicas, también
para manejarlas; p.e. un comando
para “tile” las vistas, esto es
ordenarlas en un patrón ordenado
Estructura
El VH es el componente central de este
patrón. Es responsable de abrir vistas
nuevas y los clientes pueden especificar
la vista que desean. El VH inicia
instantáneamente los correspondientes
componentes de vista, cuida su correcta
inicialización y pide a la nueva vista que
se despliegue.
También ofrece funciones para cerrar
vistas, individualmente abiertas, tal como
se necesitan al cerrar la aplicación. La
principal responsabilidad del VH es, sin
embargo ofrecer servicios de manejo de
vistas. Una responsabilidad adicional del
VH es la coordinación.
Un componente de vista abstracto define una
interfaz que es común para todas las vistas. El
VH usa esta interfaz para crear, coordinar y cerrar
vistas. La plataforma subyacente al sistema usa
la interfaz para ejecutar eventos de usuario; p.e.
el cambio de tamaño de una ventana. La interfaz
de la vista abstracta debe ofrecer una función
correspondiente para todas las operaciones
posibles que se pueden ejecutar en una vista.
Los componentes de vista específicos se derivan
de la vista abstracta e implementan su interfaz
además, cada vista implementa su propia función
de desplegado.
Escenario 1: Creación de una vista nueva.
Escenario 2: Organiza el apilamiento de vistas.
Implementación:
La implementación de un VH puede
dividirse en 4 pasos.
1.- Identificar las vistas.
2.- Especificar una interfaz común
para todas las vistas.
3.- Implementar las vistas.
4.- Definir el VH.
Variantes: El VH con objetos de
comando: En lugar de llamar
directamente la funcionalidad de
vista, el VH crea un comando
apropiado y lo ejecuta, el comando
mismo sabe como operar a la vista.
Usos conocidos:
• Macintosh. Windows Manager
• El procesador Word de Microsoft
• Beneficios
• Manejo uniforme de las vistas,
• Extensibilidad y cambiabilidad de
las vistas
• Coordinación de vistas de aplicación
especifica.
• El patrón VH tiene desventajas
• Aplicabilidad restringida.
• Eficiencia.
Descargar

VIEW HANDLER