160 likes | 365 Views
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
E N D
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.
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.