patrones j2 ee

Post on 11-Jul-2015

245 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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.

top related