Composite View

RECU-0120 (Recurso Patrón)

Descripción

Este patrón ayuda al proceso de integración de varias subvistas en una página.

Contexto

Normalmente una funcionalidad esta compuesta por un conjunto de vistas asociadas. Es habitual que varias subvistas se integren para completar una sóla página. Además, varios individuos con diferentes habilidades contribuyen al desarrollo y mantenimiento de esas páginas web. Es necesario estandarizar este proceso de integración y composición.

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.

Solución

La mejor solución es apostar por la composición de vistas atómicas. Cada componente de la plantilla se puede incluir dentro del total, manejando la distribución de la página de forma independiente del contenido.

Realmente, con esta solución se busca crear una vista que sea compuesta tanto por elementos dinámicos como por elementos estáticos que sean faciles de sustituir. El objetivo es conseguir un aumento en la reutilización de componentes gracias al diseño modular. 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.

Implementación y Participantes

  • CompositeView: Una vista compuesta es una vista a la que se le han agregado varias subvistas.
  • ViewManager: El manejador de vista se ocupa de la inclusión de porciones de fragmentos de plantilla en la vista compuesta.
  • HeaderView: Es una subvista incluida dentro de la principal.
  • FooterView: Es una subvista incluida dentro de la principal.

A continuación se ofrece un diagrama de secuencia con la colaboración de los participantes del patrón:

Clasificación

Otros

Enlaces externos

Contenidos relacionados

Pautas
Área: Desarrollo » Patrones de Diseño » Capa de presentación
Código Título Tipo Carácter
LIBP-0345 Uso de Patrones J2EE de la Capa de Presentación Libro de pautas Directriz Recomendada
Recursos
Área: Desarrollo » Patrones de Diseño
Código Título Tipo Carácter
RECU-0013 Patrones de diseño Ficha Recomendado