Patrones j2 ee
-
Upload
roberto-moreno-donoro -
Category
Documents
-
view
244 -
download
0
Transcript of Patrones j2 ee
PATRONES DE DISEÑO J2EE
PREÁMBULO
Planteamiento de soluciones optimas. Reutilización de soluciones anteriores
satisfactorias. Abstraer las soluciones para ampliar su
aplicación.
INTRODUCCIÓN
Elaboración de soluciones generales para problemas en concreto.
Los patrones abarcan todas las etapas del desarrollo del software.
Distintos tipos de patrones, organizados en grupos relacionados.
“GANG OF FOUR “
En 1994 elaboran “Design patterns: Elements of Reusable Object Oriented Sofware ”.
Recopilación de 23 patrones utilizados profesionalmente.
Afianzaron el desarrollo mediante la utilización de patrones.
TIPOS
CREACIONALES: Tratan de la forma de instanciar los objetos.
ESTRUCTURALES: Describen como las objetos pueden ser combinados formando estructuras complejas y nuevas funcionalidades.
COMPORTAMIENTO: Definen la comunicación entre los objetos.
TIPOS: 2º nivel
CREACIONALES:CREACIONAL DE LA CLASE: Instanciación
de la clase mediante herencia.CREACIONAL DEL OBJETO: Patrones más
escalables y dinámicos.
TIPOS: 2º NIVEL
ESTRUCTURALES: ESTRUCTURAL DE LA CLASE:
Proporcionan interfaces más útiles mediante herencia.
ESTRUCTURAL DE OBJETOS: Creación de objetos complejos mediante objetos individuales para formar grandes estructuras.
TIPOS: 2º NIVEL
COMPORTAMIENTO: COMPORTAMIENTO DE CLASE:
Distribuyen el comportamiento entre clases mediante herencia.
COMPORTAMIENTO DE OBJETOS: Analizan la comunicación entre objetos interconectados.
EJEMPLO DE USO
PATRÓN HANDLER Identificación de objetos.
PATRONES J2EE
CINCO CAPAS: Cliente. Presentación. Negocios. Integración. Recurso.
CAPA PRESENTACIÓN
Decorating Filter / Intercepting Filter. Front Controller/ Front Component. View Helper. Composite view. Service To Worker. Dispatcher View.
DECORATING FILTER
CARACTERÍSTICAS: Maneja varios tipos de peticiones que
requieren un procesamiento determinado. Aplicado a procesos de validación de sesión. Elimina las comprobaciones mediante if-else
concatenados.
DECORATING FILTER
FRONT CONTROLLER
CARACTERÍSTICAS: Acepta todas las peticiones de un cliente y
las direcciona a los manejadores apropiados. Se divide en dos partes:
Controlador Dispatcher
FRONT CONTROLLER
VIEW HELPER
CARACTERÍSTICAS: Encapsula la lógica de acceso a bases de
datos en beneficio de la capa de presentación.
Acceso a datos de una JSP mediante JavaBeans.
VIEW HELPER
COMPOSITE VIEW
CARACTERÍSTICAS: Elemento de la vista compuesto por otros
elementos del mismo tipo. Utilización de la directiva include.
COMPOSITE VIEW
SERVICE TO WORKER
CARACTERÍSTICAS: Parecido al patrón M-V-C. Utiliza dos subPatrones:
Front Controler para el manejador. View Helper para la vista.
Diferencia con M-V-C: el controlador está formado por un componente en el M-V-C.
SERVICE TO WORKER
DISPATCHER VIEW
CARACTERÍSTICAS: Parecido también al patrón M-V-C. Utilización similar del Front Controller y del
View Helper. Diferencia: el controlador no realiza acción
sobre el helper.
DISPATCHER VIEW
CAPA NEGOCIOS
Business Delegate. Value Object/ Data Transfer Object/
Replicate Object. Session Façade/ Session Entity Façade/
Distributed Façade. Aggregate Entity.
CAPA NEGOCIOS
Value Object Assembler. Value List Handler/ Page-by-Page Iterator/
Paged List. Service Locator.
BUSINESS DELEGATE
CARACTERÍSTICAS: Un objeto de la capa de presentación llama a
métodos remotos de los objetos de la capa de negocio.
Búsqueda del elemento de negocio. Llamada al servicio requerido.
BUSINESS DELEGATE
TRANSFER OBJECT
CARACTERÍSTICAS: Encapsula la serialización de un objeto que
debe ser traspasado por la red. Se realiza la petición, se crea el objeto
Transfer Object y éste encapsula el traspaso del objeto requerido por el cliente.
TRANSFER OBJECT
SESSION FACADE
CARACTERÍSTICAS: Crea una fachada para encapsular las
complejas interrelaciones de los distintos elementos de negocio.
Proporciona un servicio uniforme y maneja el flujo de ejecución de los subelementos.
SESSION FACADE
AGGREGATE ENTITY
CARACTERÍSTICAS: Encapsula la creación de un Bean de entidad
conpuesto por otros Beans de entidad.
AGGREGATE ENTITY
TRANSFER OBJECT ASSEMBLER
CARACTERÍSTICAS: Combina el Transfer Object y el Session
Facade. Transfer Object -> Serialización del objeto. Session Facade -> Encapsulación de la creación
de un Objeto compuesto de varios otros.
TRANSFER OBJECT ASSEMBLER
VALUE LIST HANDLER
CARACTERÍSTICAS: Maneja la ejecución de sentencias SQL. Usualmente utiliza Beans de Session.
VALUE LIST HANDLER
SERVICE LOCATOR
CARACTERÍSTICAS: Utilizado para abstraer toda la utilización de
JNDI y de la creación de cualquier contexto inicial de complejo.
Encapsula la búsqueda o creación de los objetos Home y EJB.
Proporciona un punto de control, que puede ser llamado por múltiples clientes.
SERVICE LOCATOR
CAPA INTEGRACIÓN
Data Access Object. Service Activator.
DATA ACCESS OBJECT
CARACTERÍSTICAS: Consiste en utilizar un objeto como medio de
acceso a bbdd. Abstrae y encapsula las operaciones
relacionadas con el tratamiento de la base de datos.
DATA ACCESS OBJECT
SERVICE ACTIVATOR
CARACTERÍSTICAS: Se utiliza para recibir peticiones y mensajes
asincronos por parte del cliente. Busca el elemento de negocio que contiene
el método que debe invocar de forma asíncrona.
SERVICE ACTIVATOR
INCONVENIENTES
Necesidad de análisis y estudio previo de los distintos patrones.
Incremento del tiempo de desarrollo. Posible ligero aumento del coste del
proyecto.
VENTAJAS
Estandarización de la solución y consecuente posibilidad de reutilización.
Mejor aprovechamiento de las características la POO.
Interoperabilidad de los patrones. Aumento del rendimiento a medio plazo. Diseño de la aplicación de forma robusta. Adaptada a posibles modificaciones y nuevas
adiciones.