Patrones
Patrones
Patrones
www.federicopeinado.es
Depto. de Ingeniera del Software e
Inteligencia Artificial
disia.fdi.ucm.es
Facultad de Informtica
www.fdi.ucm.es
Universidad Complutense de Madrid
www.ucm.es
Conviene
Ojo!
Anlisis
Requisitos de la aplicacin
Especificaciones funcionales
Arquitecturas software
Armazones software (frameworks)
Cdigo
Componentes software
Bibliotecas de cdigo
PE en funciones / POO en mtodos
Cortar y pegar
Laboratorio de Programacin de Sistemas Patrones de Diseo Software
(Alexander, 1977)
Cada patrn describe un problema que ocurre una y otra vez en
nuestro entorno, y luego describe el ncleo de la solucin a dicho
problema, de manera que puedas usar esa solucin un milln de veces
sin que en realidad lo ests resolviendo dos veces de la misma forma
Posteriormente, en Ingeniera del Software
(Gamma, Helm, Johnson y Vlissides, 1995) alias Gang of Four (GoF)
Un patrn de diseo nombra, abstrae e identifica los aspectos
fundamentales de una estructura comn de diseo que la hacen til para
la creacin de un diseo orientado a objetos reutilizable
Nivel/Tipo
Creacin
Estructura
Comportamiento
Clase
Factory method/
Mtodo de fabricacin
Adapter/Clase
adaptadora
Interpreter/Intrprete
Template method/Mtodo
plantilla
Objeto
Abstract factory/
Fbrica abstracta
Builder/Constructor
virtual
Prototype/Prototipo
Singleton/Ejemplar
nico
Adapter/Objeto
adaptador
Bridge/Puente
Composite/Objeto
compuesto
Decorator/Decorador
Facade/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
Nombre
Suele usarse el original en ingls del libro de GoF
Se han convertido en vocabulario comn en DOO
Propsito
Solucin
Consecuencias
10
11
12
13
14
15
16
17
18
19
20
21
responder
Es capaz de encontrar el receptor dinmicamente
Se hace cargo por s mismo de atender a las solicitudes
Operaciones de deshacer/rehacer
22
Federico Peinado
www.federicopeinado.es