- Modelo: encapsula los datos de la aplicación y la lógica para interactuar con ellos.
- Vista: maneja la interacción con el usuario y la representación del modelo
- Controlador: Es el puente entre las dos capas anteriores, se encarga de seleccionar el modelo solicitado por el usuario y seleccionar la vista adecuada para representarlo.
Cada una de estas capas a su vez se puede implementar usando uno o varios patrones de diseño según las necesidades. En el siguiente enlace se muestra una breve explicación de los patrones de diseño más importantes para cada una de las capas.
PATRÓN FRONT CONTROLLER (CONTROLADOR FRONTAL):
Con él se pretende crear un armazón estandar para administrar solicitudes.
El ciclo vital de una solicitud a través de un controlador frontal sigue los siguientes pasos:
- El usuario emite una solicitud al controlador de la aplicación
- La solicitud se divide en parámetros de formulario
- La solicitud se autentifica
- La acción solicitada se mapea a un recurso específico
- Se crea un objeto de comandos para procesar la solicitud
- La solicitud se envía a la página adecuada
- La salida de la acción solicitada se muestra al usuario
ESTRATEGIAS:
1) AYUDA DE SOLICITUD: Esta estrategia implementa una clase que recibe como parámetro la solicitud y la procesa pudiendo realizar las funciones de autentificación de la solicitud (se comprueba que se ha recibido los parámetros esperados) y se mapea al objeto de comandos que realiza las operaciones solicitadas (nos devuelve el objeto Action).
2) CONTROLADOR Y COMANDO: Se crea un objeto comando que realiza las operaciones solicitadas. Nuestro objeto comando es el encargado de obtener el modelo, realizar las operaciones necesarias sobre el mismo y seleccionar la vista que va a representar el modelo.
PATRÓN DECORATING FILTER (FILTRO DECORADOR):
Este patrón nos permite modificar la solicitud antes de ser entregada al controlador correspondiente y modificar la respuesta antes de ser entregada al cliente. Entre los posibles usos de los filtros podemos destacar:
- Registrar información importante sobre cada solicitud
- Autentificar usuarios
- Transformar los datos de entrada antes del procesamiento
- Transformar los datos de la respuesta para un dispositivo específico
- Validar los datos del formulario e interrumpir el procesamiento si fuera necesario
Este patrón especifica que se utilicen helpers para adaptar los datos del modelo a la capa de presentación de una aplicación. Estos helpers consisten en librerías de etiquetas (creadas por el propio programador o utilizando etiquetas proporcionadas por algún framework) o JavaBeans o ambos.
No hay comentarios:
Publicar un comentario