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 View Handler 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.
·
Estructura
El View Handler 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.
·
Estructura del patrón
View Handler
·
Diagrama de secuencia
·
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.
·
Ventajas
-
Manejo
uniforme de las vistas,
-
Extensibilidad
y cambiabilidad de las vistas
-
Coordinación
de vistas de aplicación específica.
- Desventajas
-
Aplicabilidad
restringida.
-
Eficiencia.
No hay comentarios:
Publicar un comentario