DispatcherView

RECU-0121 (Recurso Patrón)

Descripción

Patrón de diseño MVC con el controlador actuando como FrontController. Hay una diferencia, el Dispatcher no usa ViewHelpers y realiza muy poco trabajo en el manejo de la vista. La vista es manejada por sus propios componentes.

Contexto

El sistema controla el flujo de ejecución y accede a los datos de negocio, desde los que crea el contenido de la presentación. Este patron describe una combinación común de otros patrones del catálogo.

Problema

El problema es una combinación de los problemas resueltos por los patrones Front Controller y View Helper de la capa de presentación. No hay un componente centralizado para manejar el control de acceso, la recuperación de contenido, o el manejo de la vista, y hay código de control duplicado esparcido por varias vistas. Además, la lógica de negocio y la de formateo de la presentación están mezcladas en esas vistas, haciendo que el sistema sea menos flexible, menos reutilizables y generalmente menos resistente a los cambios.

Solución

Dispatcher View describe la combinación de los patrones Front Controller y View Helper con un componente dispatcher. Aunque este patrón y Service to Worker describen una estructura similar, ambos sugieren diferentes divisiones de la labor entre los componentes. El controlador y el dispatcher tienen responsabilidades limitadas, comparadas con el patrón Service to Worker, porque la lógica de procesamiento y de control de vista son básicas. Además, si no se considera necesario el control de los recursos subyacentes, se puede eliminar el controlador y el dispatcher se podría mover dentro de una vista 

Implementación y Participantes

  • Cliente: Realiza la petición
  • Controller: Realiza la autentificación del cliente y delega en el Dispatcher la resolución de datos y el manejo de la vista
  • Dispatcher:Un dispatcher es el responsable del control de la vista y la navegación, controlando la elección de la siguiente vista a mostrar y proporciona el mecanismo para dirigir el control a este recurso.
  • View: Una Vista representa una presentación de información al cliente. La información utilizada en esta presentación se recupera de un modelo.
  • Helper: Un helper es el responsable de ayudar a la vista o al controlador a completar su procesamiento.
  • ValueBean: Un value bean es otro nombre para un helper que es responsable de contener el estado del modelo intermedio para que lo utilice una vista.
  • BussinesService: Servicio de Negocio es un rol que cumple el servicio al que el cliente quiere acceder

A continuación se presenta un modelo gráfico del diagrama de secuencia que representa la colaboración entre los participantes del patrón:

114

Clasificación

Otros