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