7 de julio de 2013

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 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