Problema
Usted quiere separar una vista
desde la lógica de procesamiento.
Fortalezas
- ¿Quieres utilizar vistas basadas en plantilla, como JSP.
- ¿Quieres evitar incrustar la lógica del programa en la vista.
- Usted quiere separar la lógica de programación del fin de facilitar la división del trabajo entre los desarrolladores de software y diseñadores de páginas web.
Solución
Utilice
las vistas para encapsular código de formato y ayudantes para encapsular lógica
de la vista de procesamiento.
A Ver delegue sus responsabilidades de
procesamiento a sus clases de ayuda, implementado como POJOs, etiquetas
personalizadas, o archivos de etiquetas. Ayudantes sirven como adaptadores entre la vista y el modelo, y realizar
el procesamiento relacionado con la lógica de formato, como la generación de
una tabla HTML.
Diagrama de clases
Diagrama de secuencia
Participantes y Responsabilidades
Figura 7.12 muestra el diagrama
de secuencia que representa el patrón View Helper. Un controlador normalmente
mediador entre el cliente y la vista. En algunos casos, sin embargo, un
controlador no se utiliza y la vista se convierte en el punto de contacto
inicial para manejar la petición. (Véase también patrón Dispatcher View.)
Figura 7.12 Vista Helper diagrama
de secuencia
Como se indica en el diagrama de
clases, puede que no haya ayudantes asociadas con una vista. En este caso
sencillo, la página puede ser totalmente estática o incluir cantidades muy
pequeñas de código scriptlet en línea. Este escenario se describe en el
diagrama de secuencia en la Figura 7.13.
Figura 7.13 Vista Helper sencillo
diagrama de secuencia
Ver
Una vista representa y muestra
información al cliente. La información que se utiliza en una pantalla dinámica
se recupera de un modelo. Los helpers soportan vistas encapsulando y adaptando
un modelo para utilizarlo en una presentación.
Ayudante
Un ayudante se encarga de ayudar
a la vista o al controlador a completar su procesamiento. Por lo tanto, los
ayudantes tienen numerosas responsabilidades, incluyendo la recopilación de
datos requeridos por la vista y el almacenamiento en el modelo intermedio, en
cuyo caso la ayuda se conoce como un value bean. Además, los asistentes podrán
adaptar este modelo de datos para el uso de la vista. Los helpers pueden servir
peticiones de datos desde la vista simplemente proporcionando acceso a los
datos en bruto o formato a los datos como el contenido Web.
Una vista podría trabajar con
cualquier número de helpers, que normalmente están implementados como JavaBeans
(JSP 1.0 +) y etiquetas personalizadas (JSP 1.1 +). Además, un ayudante puede
representar un objeto Command, un delegado (ver "Business Delegate"
en la página 248), o un transformador XSL, que se utiliza en combinación con
una hoja de estilos para adaptarse y convertir el modelo en la forma apropiada.
ValueBean
Un grano de valor es otro nombre
para un helper que es responsable de mantener el estado del modelo intermedio
para el uso de una vista. Un caso típico, como se muestra en el diagrama de
secuencia en la Figura 7.12, tiene el servicio de negocio devolver un valor de
frijol en respuesta a una solicitud. En este caso, ValueBean cumple la función
de un objeto de transferencia.
BusinessService
El servicio de negocio es una
función que se realiza por el servicio que el cliente está tratando de acceder.
Normalmente, se accede al servicio de negocio a través de un Delegado de
negocios. La función del delegado de negocio es proporcionar control y
protección para el servicio de negocio.
Estrategias
JSP View Estrategia
The View Estrategia JSP sugiere
el uso de una JSP como el componente vista. Esta es la estrategia preferida
para la Estrategia de Vista Servlet. Si bien es semánticamente equivalente a la
Estrategia de Vista Servlet, es una solución más elegante y es más comúnmente utilizado.
Las vistas son el dominio de los diseñadores web, que prefieren marcado con el
código Java. Ejemplo 7.17 muestra un ejemplo de código para esta estrategia. La
cita es a partir de un archivo de origen denominado welcome.jsp , a la que un
servlet controlador envía después de la colocación de la WelcomeHelper JavaBean
en la solicitud de extensión.
Estrategias
- Plantilla basada vistas de estrategia
- Controller-Based Strategy View
- JavaBean Helper
- Estrategia Custom Tag Helper
- Tag Helper archivo
- Business Delegate es un Helper de estrategia
Consecuencias
- Mejora la partición de aplicaciones, reutilización y mantenimiento
- Mejora la separación de funciones
- Facilita las pruebas
- Ayudante de uso espejos scriptlets
No hay comentarios:
Publicar un comentario