Introducción a los patrones de diseño software

Páginas: 6 (1430 palabras) Publicado: 27 de abril de 2013
Federico Peinado
www.federicopeinado.es
Depto. de Ingeniería del Software e
Inteligencia Artificial
disia.fdi.ucm.es
Facultad de Informática
www.fdi.ucm.es
Universidad Complutense de Madrid
www.ucm.es

 Conviene

diseñar e implementar elementos
software que puedan usarse para construir
muchos programas diferentes

• Ahorra esfuerzo (evitamos “reinventar la rueda”)
• Permiteconcentrarse siempre en funcionalidad nueva
• Mejora indirectamente la calidad (hay más revisiones)

 ¡Ojo!

Desarrollar software reutilizable es más
difícil y costoso que no reutilizable

• Implica resolver una familia de problemas en lugar de

resolver un único problema particular
• Implicar saber programar software flexible y prever los
ejes de cambio
Laboratorio de Programación deSistemas – Patrones de Diseño Software

2



Análisis
• Requisitos de la aplicación
• Especificaciones funcionales



Diseño de alto nivel

• Arquitecturas software
• Armazones software (frameworks)



Diseño de bajo nivel

• Patrones de diseño software



Código





Componentes software
Bibliotecas de código
PE en funciones / POO en métodos
“Cortar ypegar” 
Laboratorio de Programación de Sistemas – Patrones de Diseño Software

3

Laboratorio de Programación de Sistemas – Patrones de Diseño Software

4




El DOO es difícil, y el DOO reutilizable más difícil todavía
Los desafíos de diseño se repiten y los diseñadores con
experiencia suelen acabar conociendo las mejores soluciones
• Esas buenas ideas de diseño se conocen comopatrones de diseño



Definiciones de patrones de diseño
• Originalmente, en Arquitectura

(Alexander, 1977)
“Cada patrón describe un problema que ocurre una y otra vez en
nuestro entorno, y luego describe el núcleo de la solución a dicho
problema, de manera que puedas usar esa solución un millón de veces
sin que en realidad lo estés resolviendo dos veces de la misma forma”
•Posteriormente, en Ingeniería del Software
(Gamma, Helm, Johnson y Vlissides, 1995) alias Gang of Four (GoF)
“Un patrón de diseño nombra, abstrae e identifica los aspectos
fundamentales de una estructura común de diseño que la hacen útil para
la creación de un diseño orientado a objetos reutilizable”

Laboratorio de Programación de Sistemas – Patrones de Diseño Software

5

Nivel/TipoCreación

Estructura

Comportamiento

Clase

Factory method/
Método de fabricación

Adapter/Clase
adaptadora

Interpreter/Intérprete
Template method/Método
plantilla

Objeto

Abstract factory/
Fábrica abstracta
Builder/Constructor
virtual
Prototype/Prototipo
Singleton/Ejemplar
único

Adapter/Objeto
adaptador
Bridge/Puente
Composite/Objeto
compuesto
Decorator/DecoradorFacade/Fachada
Flyweight/Peso ligero
Proxy/Intermediario

Chain of responsability/
Cadena de responsabilidad
Command/Orden
Iterator/Iterador
Mediator/Mediador
Memento/Recuerdo
Observer/Observador
State/Estado
Strategy/Estrategia
Visitor/Visitante

Laboratorio de Programación de Sistemas – Patrones de Diseño Software

6



Nombre
• Suele usarse el original en inglés del librode GoF
• Se han convertido en vocabulario común en DOO



Propósito

• Descripción de la situación problemática o compleja en la que

parece conveniente aplicar el patrón



Solución

• Estructuras de diseño involucradas
 Elementos
 Relaciones entre estos elementos
 Responsabilidades y colaboraciones que mantienen estos elementos



Consecuencias

• Discusión acerca delas ventajas y los inconvenientes del patrón
 Coste asociado, flexibilidad conseguida, alternativas que hay o no hay…

Laboratorio de Programación de Sistemas – Patrones de Diseño Software

7

Anticípate a las situaciones que te puedan obligar a
modificar el diseño
 Decide qué cambios te gustaría poder hacer en el
futuro sin necesidad de modificar el diseño
 Flexibiliza aquello...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Patrones de Diseño de Software
  • Arquitectura De Software Y Patrones De Diseño
  • Introduccion a los patrones de diseño
  • patrones de diseño de software
  • Patrones de diseño de software
  • Patrones De Diseno
  • Patrones De Diseño
  • Patrones de Diseño

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS