0% encontró este documento útil (0 votos)
48 vistas11 páginas

Patrones Go F

El documento describe varios patrones de diseño orientados a objetos, incluyendo patrones estructurales como Adaptador y Proxy, patrones de creación como Factoría y Singleton, y los patrones GoF. Explica que un patrón proporciona una solución a problemas comunes de diseño y captura conocimiento técnico de manera reutilizable.

Cargado por

nerrsito
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
48 vistas11 páginas

Patrones Go F

El documento describe varios patrones de diseño orientados a objetos, incluyendo patrones estructurales como Adaptador y Proxy, patrones de creación como Factoría y Singleton, y los patrones GoF. Explica que un patrón proporciona una solución a problemas comunes de diseño y captura conocimiento técnico de manera reutilizable.

Cargado por

nerrsito
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 11

Diplomado de Bases de Datos - Modelado Orientado a Objetos

PATRONES

• Un patrón es un conjunto de información que proporciona


respuesta a un conjunto de problemas similares.
• Se logra aislando los aspectos comunes y su solución y se añaden
cuantos comentarios y ejemplos sean oportunos.´
• Podríamos definir patrón como una solución a un problema en
un contexto.

 Contexto. Las situaciones recurrentes.

 Problema. Metas y restricciones en el contexto.

 Solución. Diseño para conseguir las metas dentro de las


restricciones.

1
Diplomado de Bases de Datos - Modelado Orientado a Objetos
PATRONES

• Los patrones ayudan a capturar conocimiento y a crear un


vocabulario técnico, hacen el diseño orientado a objetos más
flexible, elegante y en algunos casos reusable.
• Los patrones de diseño pueden relacionarse y aplicarse de forma
simultánea en muchos casos
• Normalmente un patrón se compone de los siguientes elementos:
 Nombre. Una o dos palabras, alto nivel de abstracción para
facilitar la asimilación del funcionamiento del mismo. Estos
nombres se incorporan a la memoria y son utilizados en la
comunicación.
 Problema. Describe cuando se debe aplicar el patrón y su
contexto.

 Solución. Detalla el mejor diseño disponible.


2
 Consecuencias. Describe las ventajas y desventajas del mismo.
Diplomado de Bases de Datos - Modelado Orientado a Objetos
PATRONES GoF

Patrones publicados por Gamma, Helm, Johnson y Vlossodes en 1995: patrones de


la pandilla de los cuatro (gang of four).
Esta serie de patrones permiten ampliar el lenguaje, aprender nuevos estilos de
diseño y además se introducirá más notación UML.
Existen 23 patrones GoF de los que 15 se utilizan con frecuencia y 8 son los más
usados. Se clasifican según su propósito en patrones:
 De Creación: Factoría Abstracta, Singleton (Creación de objetos).
 Estructurales: Adaptador, Composite, Fachada (Composición de clases y
objetos).
 De comportamiento: Observador, Estrategia (Modo en que las clases y objetos
interactúan y se reparten las responsabilidades).

3
Diplomado de Bases de Datos - Modelado Orientado a Objetos
PATRON ESTRUCTURAL: Adaptador-Wrapper.

Problema:
• ¿Cómo resolver interfaces incompatibles, o proporcionar una interfaz estable para
componentes parecidos con diferentes interfaces?
• Solución
Convierta la interfaz de una clase en otra interfaz que es la que esperan los clientes,
permite que cooperen clases que de otra forma no podrían cooperar por tener
interfaces incompatibles.
• Consecuencias
• Posibilidad de reutilizar las clases que han sido pensadas para este Objetivo pero
que tenían interfaces no compatibles con el sistema en desarrollo.
• Un adaptador de objetos permite adaptar una clase y sus subclases, puede
funcionar para varios adaptables.

4
Diplomado de Bases de Datos - Modelado Orientado a Objetos
PATRON ESTRUCTURAL: Adaptador-Wrapper

La filosofía de Adapter, permite establecer una capa intermedia que permita comunicarse
a dos clases que de otro modo no podrían hacerlo, realizando una adaptación de la
interfaz de la clase que proporciona el servicio a la que la solicita.

5
Diplomado de Bases de Datos - Modelado Orientado a Objetos
PATRONES ESTRUCTURALES PATRÓN PROXY

Problema:
Es un sustituto de otro objeto, para controlar el acceso a él
Solución
Convierta la interfaz de una clase en otra interfaz que es la que esperan los clientes,
permite que cooperen clases que de otra forma no podrían cooperar por tener
interfaces incompatibles.
Consecuencias
• Posibilidad de reutilizar las clases que han sido pensadas para este Objetivo pero
que tenían interfaces no compatibles con el sistema en desarrollo.
• Un adaptador de objetos permite adaptar una clase y sus subclases, puede
funcionar para varios adaptables.
Usos
Este patrón es ampliamente utilizado en frameworks cómo Hibernate o Spring AOP,
permitiendo capturar las llamadas a objetos POJO y permitiendo insertar en ellas
capacidades de persistencia para el caso de Hibernate, u otro tipo de aspectos como
gestión de seguridad o transacciones para Spring AOP.

6
Diplomado de Bases de Datos - Modelado Orientado a Objetos
PATRONES ESTRUCTURALES PATRÓN PROXY

7
Diplomado de Bases de Datos - Modelado Orientado a Objetos
PATRON DE CREACION Factoría

Problema:
¿Quién es el responsable de la creación de objetos cuando existen consideraciones
especiales, como una lógica de creación compleja o el deseo de separar las
responsabilidades de la creación para mejorar la cohesión?
Solución:
Cree un objeto Fabricación Pura denominado Factoría (Factoría Concreta) que resuelva la
creación cuando existan consideraciones especiales.
Consecuencias:
• Separar la responsabilidad de la creación compleja en objetos de apoyo.
• Ocultar la lógica de creación potencialmente compleja.
• Permitir introducir estrategias para mejorar el rendimiento de la gestión de
memoria.
Ejemplos:
Se puede aplicar cuando:
• Es necesario acceder a algún recurso para la creación y configuración de un objeto.
• No conocemos hasta el momento preciso de la instanciación qué tipo concreto de
objeto se va a instanciar.
8
Diplomado de Bases de Datos - Modelado Orientado a Objetos
PATRON DE CREACION Factoría: Ejemplo

Participantes
• Producto: Define la interfaz de los objetos que la Factoría crea.
• ProductoConcreto: Define la interfaz del Producto.
• Creador: Declara el método factoría que devuelve un objeto de tipo Producto
• CreadorConcreto: Sobreescribe el método Factoría para que devuelva un
ProductoConcreto

Colaboraciones
El Creador busca entre las subclases y devuelve una instancia apropiada de
ProductoConcreto.
Consecuencias
Los métodos Factoría eliminan la necesidad de ligar clases específicas de la aplicación a
nuestro código. Dos consecuencias a tener en cuenta son:
• Proporciona enganches para las subclases. 9
• Conexión jerárquica de clases paralelas.
Diplomado de Bases de Datos - Modelado Orientado a Objetos
PATRON CREADOR: SINGLETON

Problema:
¿Cómo podemos asegurar que una clase tiene exactamente una única instancia y que ésta
sea fácilmente accesible?
Solución:
Defina un método estático de la clase que devuelva el singleton.
Consecuencias:
• Permite el manejo de objetos únicos y que sean accesibles a otros objetos.
• Acceso controlado a la única instancia.
Ejemplos:
Se solicita generar un historial de los eventos ejecutados por 3 usuarios del sistema, estos
eventos se generan cada vez que alguno de los usuarios presiona un botón determinado de
un panel de opciones, este historial debe contener la fecha y hora de ejecución del evento,
además del usuario y opción presionada.

10
Diplomado de Bases de Datos - Modelado Orientado a Objetos
PATRON CREADOR: SINGLETON

Cliente: Parte del programa


que utilizará las fábricas y
productos.

Singleton: Clase que se


quiere instanciar una sola
vez.

Se dice que el patrón singleton es la mejora a las


variables globales. Este patrón regularmente se usa
para el manejo de recursos. Estos recursos pueden ser
externos como internos, por mencionar un ejemplo de
externo sería una clase que maneje el uso de
conexiones a base de datos.

11

También podría gustarte