Patrones de diseño

Páginas: 8 (1887 palabras) Publicado: 11 de julio de 2013
Patrones de Diseño
Arquitecturas de Software
Marcelo Magaña

“Si los constructores hicieran las
casas de la misma forma en que los

programadores escriben código, el
primer pájaro carpintero que viniera

destruiría la civilización”

¿Por qué patrones?



Si quisieran construir una casa, ¿cómo lo
harían?
1. Buscar un árbol robusto

2. Conseguir madera, un martillo y clavos3. Aplicar los productos del paso 2 al paso 1
4. Esperar lo mejor

¿Por qué patrones?



Sería un mejor plan encontrar un
Arquitecto que elabore los planos



Ahora bien………



¿Cómo toma las decisiones el Arquitecto?



No es diferente en el mundo del desarrollo
de Software

¿Por qué patrones?



Necesitamos un gurú del desarrollo de Sw
◦ No hay muchos gurús enel mundo
◦ Tenemos que valernos por nosotros mismos



¿Habrá una forma de agrupar todo ese
conocimiento?
◦ Patrones de Diseño

¿Por qué patrones?



Soluciones bien documentadas



Solucionar nuevos problemas



Aplicadas con éxito en el pasado



Problemas similares



Adaptar la solución previa al contexto actual



Desarrollar una forma estandarizadapara
solucionar problemas comunes

¿Por qué patrones?



Christopher Alexander
◦ Catedrático de Arquitectura de U.C. Berkeley
◦ Diversos Libros – Concepto de Patrón
◦ Captó interés



Kent Beck – Ward Cunningham
◦ Conjunto de patrones de diseño para Smalltalk
◦ OOPSLA – 1987



James Coplien
◦ Expresiones Comunes en C++
◦ Patrones para el desarrollo en C++

Un poco deHistoria



Object-Oriented Programming, Systems,
Languages & Applications
◦ Conferencia anual de la ACM (Association for

Computing Machinery)
◦ Orlando, Florida

OOPSLA



Patrones de Diseño
◦ Erich Gamma, Richard Helm, Ralph Johnson y
John Vlissides
◦ “Gang of Four” o GoF
◦ Ejemplos en C++



Pattern-Oriented Software Architecture, A
Systems of Patterns
◦ Buschmann,Meunier, Rohnert, Somerland y
Stal

Un poco de Historia



Los Patrones de Diseño se basan en un
“Formulario” o “Formato”:
◦ Nombre: Descriptivo

◦ También conocido como: nombres alternativos
◦ Propiedades: Clasificación del Patrón, según
dos aspectos

Conceptos básicos



Patrones de Creación
◦ Creación de Objetos



Patrones de Comportamiento
◦ Interacción Funcional

Patrones Estructurales
◦ Relaciones estáticas y estructurales



Patrones de Sistema
◦ Interacción a nivel de Sistema

Tipo



Clase Única
◦ Aplica a una única clase



Componente
◦ Grupo de Clases



Arquitectónico
◦ Coordinar acciones de sistemas y subsistemas

Nivel



Los Patrones de Diseño se basan en un
“Formulario” o “Formato”:
◦ Propósito: breveexplicación de implicancias

◦ Presentación: Desc. De problema afrontable
◦ Aplicabilidad: Cuando y por qué
◦ Descripción: explicación detallada

Conceptos básicos



Los Patrones de Diseño se basan en un
“Formulario” o “Formato”:
◦ Implementación: qué debe hacerse para usarlo

◦ Ventajas e Inconvenientes:
◦ Variantes: implementaciones alternativas
◦ Patrones relacionados
◦Ejemplo: trozo de código

Conceptos básicos



Introducción



Abstract Factory



Builder



Factory Method



Prototype



Singleton

Patrones de Creación



Facilitan la tarea de Crear Objetos



Proporcionan:
◦ Instanciación Genérica
◦ Simplicidad
◦ Restricciones de Creación

Patrones de Creación



Crear Objetos sin identificar una claseespecífica



“Generics” en Java.



Palabra reservada “instanceof”

Instanciación Genérica



Facilitan la creación de Objetos



No es necesario escribir grandes y
complejos códigos

Simplicidad



Algunos patrones fuerzan ciertas
restricciones
◦ Tipo de Objetos
◦ Número de Objetos

Restricciones de Creación



También conocido como:
◦ Kit
◦ Toolkit...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Patrones De Diseño
  • Patrones de Diseño
  • patrones de diseño
  • Patrones De Diseño
  • patron de diseño
  • Patrones de Diseño
  • Patrones de Diseño
  • Patrones De Diseño

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS