COMPOSITY
VIEW
Composity View (Compuesta
Vista) Es una vista construido con otra
reutilizable subvistas. Un solo cambio
en una sub-visión se refleja automáticamente en todas las vistas compuestas que
utiliza. Además, la vista compuesta gestiona el trazado de sus subpuntos de
vista y puede proporcionar una plantilla, lo que hace aspecto coherente se
sientan más fácil de conseguir y modificar a través de toda la aplicación.
Este patrón hace que la
representación de vista sea manejable ya que gestiona los diferentes elementos
de una página por medio de una plantilla. Frecuentemente las páginas web contienen
una combinación de contenido dinámico y elementos estáticos tales como
cabeceras, pies, logos, imágenes de fondo. La parte dinámica es particular para
cada página, pero los elementos estáticos suelen ser lo mismo para todas las
páginas. La plantilla de la vista compuesta captura estas características
comunes. La integración debe ser dinámica, siendo el composity view básicamente
un layout (diseño esquema) que componga dicha página.
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. Las páginas Web
sofisticadas presentan contenido de varias fuentes de datos, utilizando una
Vista Compuesta (Composite View) formada por otras sub-vistas. Cualquier cambio
realizado en una sub-vista es reflejado automáticamente en cada Vista Compuesta
que la utilice. 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.
VENTAJAS
·
Es apropiado utilizar este patrón para generar páginas que muestran componentes que podrían combinarse en una
gran variedad de formas.
·
La distribución de la página se maneja y
modifica de forma independiente al contenido de las subvistas.
·
Los diseñadores Web pueden hacer un
prototipo de la distribución de la site, conectando contenido estático en todas
las regiones de la plantilla.
·
Ayuda
al proceso de integración de varias subvistas en una página y propone componer
una vista de numerosas piezas atómicas.
·
Combina
vistas simples en una visión más compleja y sin manipular el contenido o el
diseño.
DESVENTAJAS
·
Provoca una sobrecarga en el entorno de
ejecución, un precio que hay que pagar por el incremento de flexibilidad que
proporciona.
·
La
utilización de un mecanismo de distribución más sofisticado también trae
consigo algunos problemas de manejabilidad y desarrollo, ya que hay más
artefactos que mantener y un cierto nivel indirecto de implementación que
entender.
CONTEXTO
Las páginas Web sofisticadas presentan contenido de
varias fuentes de datos, utilizando varias subvistas que completan una sola
página. Además, varios individuos con diferentes habilidades contribuyen al
desarrollo y mantenimiento de esas páginas Web.
PROBLEMA
En lugar de proporcionar un mecanismo para combinar
modularmente, en el que porciones atómicas de una vista componen un página
completa, las páginas se construyen embebiendo código de formateo directamente
dentro de cada vista.
La modificación de la distribución de múltiples vistas
es difícil y propensa a errores, debido a la duplicación de código.
CAUSAS
·
Las porciones atómicas del contenido de la vista
cambian con frecuencia.
- Varias vistas compuestas utilizan subvistas similares, como una tabla de inventario de clientes. Estas porciones atómicas se decoran con una plantilla de texto alrededor diferente o aparecen en diferentes localizaciones dentro de la página.
·
Los cambios de distribución son más
difíciles de manejar y el código más difícil de mantener cuando las subvistas
se embeben directamente y se duplican en varias vistas.
·
Frecuentemente, embeber las porciones
cambiantes de la plantilla de texto directamente dentro de las vistas también
afecta potencialmente a la disponibilidad y administración del sistema. El
servidor podría necesitar reinicializarse antes de que los clientes vieran las
modificaciones o actualizaciones de estas plantillas de componentes.
SOLUCIÓN
Utilizar
vistas compuestas que se componen de varias subvistas atómicas. Cada componente
de la plantilla se podría incluir dinámicamente dentro del total y distribución
de la página que se maneja independientemente del contenido.
Esta
solución solución promueve la creación de una vista compuesta
basada en la inclusión y sustitución de fragmentos de plantilla modulares tanto
estáticos como dinámicos. También promueve la reutilización de porciones
atómicas de la vista asegurando un diseño modular.
DIAGRAMA
DE SECUENCIA DEL PATRÓN COMPOSITY VIEW.
Composity
view: Una vista
compuesta es una vista a la que se le han agregado varias subvistas.
View
Manager: El
Controlador de Vista maneja la inclusión de porciones de fragmentos de
plantilla en la vista compuesta.}
HeaderView: Es una subvista incluida dentro de la principal.
HeaderView: Es una subvista incluida dentro de la principal.
FooterView: Es una subvista incluida dentro de la
principal.
CONCLUSIÓN
Este patrón mejora la modularidad capacidad de
mantenimiento y la reutilización además suma el control basado en roles o
basada en políticas.
No hay comentarios:
Publicar un comentario