patrones de diseño grupo 1 haeberli, juliÁn lara, guisell medina, diego segura, ayrton soria,...

16
Patrones de diseño GRUPO 1 HAEBERLI, JULIÁN LARA, GUISELL MEDINA, DIEGO SEGURA, AYRTON SORIA, NICOLÁS

Upload: maria-jose-espejo-peralta

Post on 24-Jan-2016

217 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Patrones de diseño GRUPO 1 HAEBERLI, JULIÁN LARA, GUISELL MEDINA, DIEGO SEGURA, AYRTON SORIA, NICOLÁS

Patrones de diseñoGRUPO 1

• HAEBERLI, JULIÁN• LARA, GUISELL• MEDINA, DIEGO• SEGURA, AYRTON• SORIA, NICOLÁS

Page 2: Patrones de diseño GRUPO 1 HAEBERLI, JULIÁN LARA, GUISELL MEDINA, DIEGO SEGURA, AYRTON SORIA, NICOLÁS

Agenda• Por favor silenciemos los celulares

• Introducción

• Reseña histórica

• Clasificación

• Propiedades

• Ejemplo

• Beneficios – Desventajas

• Anti-patrones

• Preguntas

Page 3: Patrones de diseño GRUPO 1 HAEBERLI, JULIÁN LARA, GUISELL MEDINA, DIEGO SEGURA, AYRTON SORIA, NICOLÁS

Introducción• Tratan los problemas del diseño de software que se

repiten y que se presentan en situaciones particulares, con el fin de proponer soluciones a ellas.

• Son soluciones exitosas a problemas comunes.

Page 4: Patrones de diseño GRUPO 1 HAEBERLI, JULIÁN LARA, GUISELL MEDINA, DIEGO SEGURA, AYRTON SORIA, NICOLÁS

Reseña Histórica

La importancia de las relaciones en los diseños de orientación a objetos.

Identificación de situaciones comunes.

Necesidad de reciclar “ideas” no “código”.

Identificado por la banda de los cuatro.

Page 5: Patrones de diseño GRUPO 1 HAEBERLI, JULIÁN LARA, GUISELL MEDINA, DIEGO SEGURA, AYRTON SORIA, NICOLÁS

Gang of Four (GOF)

Design Patterns (1994)

Page 6: Patrones de diseño GRUPO 1 HAEBERLI, JULIÁN LARA, GUISELL MEDINA, DIEGO SEGURA, AYRTON SORIA, NICOLÁS

Definición

Es “Una solución (probada) a un problema en un determinado contexto” (Erich Gamma)

Detallada:Es una solución probada que se puede aplicar con

éxito a un determinado tipo de problemas que aparecen repetidamente en el desarrollo de sistemas software.

Page 7: Patrones de diseño GRUPO 1 HAEBERLI, JULIÁN LARA, GUISELL MEDINA, DIEGO SEGURA, AYRTON SORIA, NICOLÁS

Creacionales:Definen la mejor manera en que un objeto es instanciado. El objetivo es abstraer el proceso de instanciación y ocultar los detalles de cómo los objetos son creados o inicializados.

Estructurales: Permiten crear grupos de objetos para ayudarnos a realizar tareas complejas.

Comportamiento: Permiten definir la comunicación entre los objetos del sistema y el flujo de la información entre los mismos.

Clasificación

Page 8: Patrones de diseño GRUPO 1 HAEBERLI, JULIÁN LARA, GUISELL MEDINA, DIEGO SEGURA, AYRTON SORIA, NICOLÁS

Propiedades

1.Nombre.

2.Problema: descripción de cuándo utilizarlo.

3.Solución.

4.Consecuencias (buenas y malas).

Page 9: Patrones de diseño GRUPO 1 HAEBERLI, JULIÁN LARA, GUISELL MEDINA, DIEGO SEGURA, AYRTON SORIA, NICOLÁS

Singleton o Singular (Creacional)Ejemplo:

1. Nombre: Singular

2. Problema: Necesidad de una sola instancia de una clase. Ejemplo: un calendario.

Page 10: Patrones de diseño GRUPO 1 HAEBERLI, JULIÁN LARA, GUISELL MEDINA, DIEGO SEGURA, AYRTON SORIA, NICOLÁS

Singleton o Singular (Creacional)Ejemplo:

3. Solución: Limitar el número de instancias de una clase verificando que no esté instanciada previamente.

4. Consecuencias: • Acceso global y controlado a única

instancia.• Es una mejora a las variables globales:

los nombres de las variables globales no siguen un estándar para su acceso.

Page 11: Patrones de diseño GRUPO 1 HAEBERLI, JULIÁN LARA, GUISELL MEDINA, DIEGO SEGURA, AYRTON SORIA, NICOLÁS

Beneficios

• Son independientes de los lenguajes.

• Efectividad comprobada en la resolución de problemas similares en ocasiones anteriores.

• Estandarizan el diseño.

• Ahorro de tiempo.

Page 12: Patrones de diseño GRUPO 1 HAEBERLI, JULIÁN LARA, GUISELL MEDINA, DIEGO SEGURA, AYRTON SORIA, NICOLÁS

Desventajas

• El uso de un patrón no se refleja claramente en el código.

• Los patrones suponen cierta sobrecarga de trabajo a la hora de implementar:

Se usan más clases de las estrictamente necesarias.

Page 13: Patrones de diseño GRUPO 1 HAEBERLI, JULIÁN LARA, GUISELL MEDINA, DIEGO SEGURA, AYRTON SORIA, NICOLÁS

¿Qué NO es un patrón de diseño?

• No es garantía de un sistema bien diseñado.

• Es un buen punto de partida para pensar una solución, no la solución.

• No reemplaza al diseñador.

Page 14: Patrones de diseño GRUPO 1 HAEBERLI, JULIÁN LARA, GUISELL MEDINA, DIEGO SEGURA, AYRTON SORIA, NICOLÁS

Anti-patrones

• Son ejemplos bien documentados de malas soluciones para problemas.

• El estudio formal de errores que se repiten permite al desarrollador reconocerlos más fácilmente.

Page 15: Patrones de diseño GRUPO 1 HAEBERLI, JULIÁN LARA, GUISELL MEDINA, DIEGO SEGURA, AYRTON SORIA, NICOLÁS

Conclusión

• Los patrones de diseño son muy útiles. Es por ello que se los conoce como las mejores prácticas en el desarrollo y construcción de software.

Page 16: Patrones de diseño GRUPO 1 HAEBERLI, JULIÁN LARA, GUISELL MEDINA, DIEGO SEGURA, AYRTON SORIA, NICOLÁS

¡Gracias por su atención!¿PREGUNTAS?