domingo, 7 de julio de 2013

COMPOSITE VIEW (VISTA COMPUESTA)


Propósito
Crear Vistas Compuestas de varias sub-vistas de forma modular, flexible y extensible para construir vistas de páginas JSP para aplicaciones J2EE.  
Cuando un usuario navega a través de aplicaciones gráficas los datos y el contenido entre las diferentes páginas varía, pero muchos elementos, como una cabecera común o una barra lateral permanecen intactos en todas las vistas. La estructura y disposición de cada página puede ser la misma y algunos elementos o secciones de la página pueden aparecer en varias páginas diferentes. Cuando estos elementos y grupos se codifican directamente en la aplicación se vuelve muy difícil la tarea de modificar las vistas y se puede incurrir en inconsistencias.
La Vista Compuesta también maneja la disposición de sus sub-vistas y proporciona una plantilla, dando una apariencia consistente y facilidades a la hora de modificarla y mantenerla a lo largo de toda la aplicación.

Aplicabilidad
Se usará el patrón Composite View cuando:


  •  Varias vistas compuestas utilizan sub-vistas similares.
  •  Las porciones atómicas del contenido de una vista cambian con frecuencia.

Implementación
- Un Composite View se puede implementar siguiendo la estrategia JSP page View o bien la estrategia Servlet View. [Alur]
- El control de la vista se puede implementar de diferentes formas: utilizando etiquetas jsp estándar, como <jsp:include>, utilizando componentes JavaBeans, y también mediante etiquetas personalizadas (JSP 1.1+).

Estructura
Estructura estática del Composite View




Participantes y Colaboraciones




Vistas Compuestas
Una Vista Compuesta es una vista a la que se le han agregado varias sub-vistas.
View Manager (Controlador de Vistas)
El Controlador de Vista maneja la inclusión de fragmentos de una plantilla en la Vista Compuesta. El Controlador de Vista podría ser parte de un motor de ejecución estándar de páginas JSP, en la forma de la etiqueta <jsp:include> de JSP (véase figura), o podría   encapsularse dentro de un helper JavaBean (JSP 1.0+) o una etiqueta personalizada (JSP 1.1+) para proporcionar una funcionalidad más robusta. [Alur]
Vistas Incluidas
Una Vista Incluida es una sub-vista, una pieza atómica de una vista mayor. Esta vista incluida también podría ser una vista compuesta, incluyendo varias sub-vistas.

Consecuencias
- Cada componente de la plantilla puede incluirse dinámicamente dentro del todo y la distribución de la página puede manejarse de forma independiente del contenido.
- Esta solución es útil para la creación de vistas basadas en la inclusión y sustitución de fragmentos de plantilla modulares, tanto estáticos como dinámicos. Los diseñadores pueden hacer un prototipo de la distribución de la web, poniendo contenido estático en cada región de la plantilla. Según va progresando el desarrollo, este contenido se puede ir sustituyendo por el contenido dinámico.
- Promueve la reutilización de porciones atómicas de la vista, animando a realizar diseños modulares.
 - Es apropiado utilizar este patrón para generar páginas que muestren componentes que podrían combinarse de diferentes maneras. Esto ocurre, por ejemplo, con portales que incluyan numerosas sub-vistas independientes, como noticias, información del tiempo,   etc. en una sola página. La distribución de la página se maneja y modifica de forma independiente al contenido de las sub-vistas.
- Provoca una sobrecarga en tiempo de ejecución, un precio que hay que pagar por el incremento de flexibilidad que proporciona.

No hay comentarios:

Publicar un comentario