Design Patterns / Patrones de Diseño

20
Pa tr ones de diseño

description

Alejandro Ramírez presenta estas diapositivas en la charla sobre Patrones de Diseño de Autentia

Transcript of Design Patterns / Patrones de Diseño

Page 1: Design Patterns / Patrones de Diseño

Patrones de diseño

Page 2: Design Patterns / Patrones de Diseño

un patrón es una receta

Page 3: Design Patterns / Patrones de Diseño

Un patrón identifica

4 contexto

4 objetivos y restricciones

4 diseño

Page 4: Design Patterns / Patrones de Diseño

Un buen patrón

4 no es trivial,

4 ha sido revisado y experimentado,

4 equilibra restricciones y objetivos

Page 5: Design Patterns / Patrones de Diseño

Un patrón es importante

4 encapsula conocimiento,

4 proporciona un vocabulario común,

4 estimula la reutilización del software.

Page 6: Design Patterns / Patrones de Diseño

No hay un formato formal

Page 7: Design Patterns / Patrones de Diseño

4 nombre

4 clasificación

4 resumen

4 problema

4 contexto

4 fuerzas que intervienen

4 solución

Page 8: Design Patterns / Patrones de Diseño

4 ejemplo

4 contexto resultante

4 exposición razonada

4 patrones relacionados

4 usos comunes

Page 9: Design Patterns / Patrones de Diseño

IF you find yourself in CONTEXT for example EXAMPLES, with PROBLEM, entailing FORCESTHEN for some REASONS, apply DESIGN FORM AND/OR RULE to construct SOLUTION leading to NEW CONTEXT and OTHER PATTERNS

Page 10: Design Patterns / Patrones de Diseño

Clasificación

Page 11: Design Patterns / Patrones de Diseño

4 Design

4 Creational

4 Partitiooning

4 Structural

4 Behavioral

4 Concurrency

Page 12: Design Patterns / Patrones de Diseño

Antipatrones

Page 13: Design Patterns / Patrones de Diseño

Un antipatrón describe

4 una forma general del problema

4 las causas

4 síntomas

4 consecuencias

4 solución

Page 14: Design Patterns / Patrones de Diseño

“AntiPatterns”, de William J. Brown, Raphael C. Malveau, Hays W. “Skip” McCormick III, Thomas J. Mowbray. 1998, John Wiley & Sons Inc.

Page 15: Design Patterns / Patrones de Diseño

Historia

Page 16: Design Patterns / Patrones de Diseño

78 A pattern Language: Towns/Building/Construction

81 Smalltalk issue of Byte

87 Using Pattern Languages for Object-Oriented Programs

91 Advanced C++ Programming Styles and Idioms

Page 17: Design Patterns / Patrones de Diseño

PLoP 94'

A Development Process Generative Pattern Language”

Design Patterns: Elements of Reusable Object-Oriented Software

Page 18: Design Patterns / Patrones de Diseño

96 “Antipatterns: Vaccinations against Object Misuse”

97 Patterns and Software: Essential Concepts and Terminology

98 “Patterns in Java (volume 1)”

Page 19: Design Patterns / Patrones de Diseño

patterns = language smellhttp://c2.com/cgi/wiki?

AreDesignPatternsMissingLanguageFeatures

Page 20: Design Patterns / Patrones de Diseño

Triviales con 1st class functions

4 Strategy

4 Observer

4 Factory

4 Command

4 Template Method