design patterns / patrones de diseño
DESCRIPTION
Alejandro Ramírez presenta estas diapositivas en la charla sobre Patrones de Diseño de AutentiaTRANSCRIPT
![Page 1: Design Patterns / Patrones de Diseño](https://reader034.vdocuments.pub/reader034/viewer/2022042715/559559771a28ab2f618b46bf/html5/thumbnails/1.jpg)
Patrones de diseño
![Page 2: Design Patterns / Patrones de Diseño](https://reader034.vdocuments.pub/reader034/viewer/2022042715/559559771a28ab2f618b46bf/html5/thumbnails/2.jpg)
un patrón es una receta
![Page 3: Design Patterns / Patrones de Diseño](https://reader034.vdocuments.pub/reader034/viewer/2022042715/559559771a28ab2f618b46bf/html5/thumbnails/3.jpg)
Un patrón identifica
4 contexto
4 objetivos y restricciones
4 diseño
![Page 4: Design Patterns / Patrones de Diseño](https://reader034.vdocuments.pub/reader034/viewer/2022042715/559559771a28ab2f618b46bf/html5/thumbnails/4.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022042715/559559771a28ab2f618b46bf/html5/thumbnails/5.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022042715/559559771a28ab2f618b46bf/html5/thumbnails/6.jpg)
No hay un formato formal
![Page 7: Design Patterns / Patrones de Diseño](https://reader034.vdocuments.pub/reader034/viewer/2022042715/559559771a28ab2f618b46bf/html5/thumbnails/7.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022042715/559559771a28ab2f618b46bf/html5/thumbnails/8.jpg)
4 ejemplo
4 contexto resultante
4 exposición razonada
4 patrones relacionados
4 usos comunes
![Page 9: Design Patterns / Patrones de Diseño](https://reader034.vdocuments.pub/reader034/viewer/2022042715/559559771a28ab2f618b46bf/html5/thumbnails/9.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022042715/559559771a28ab2f618b46bf/html5/thumbnails/10.jpg)
Clasificación
![Page 11: Design Patterns / Patrones de Diseño](https://reader034.vdocuments.pub/reader034/viewer/2022042715/559559771a28ab2f618b46bf/html5/thumbnails/11.jpg)
4 Design
4 Creational
4 Partitiooning
4 Structural
4 Behavioral
4 Concurrency
![Page 12: Design Patterns / Patrones de Diseño](https://reader034.vdocuments.pub/reader034/viewer/2022042715/559559771a28ab2f618b46bf/html5/thumbnails/12.jpg)
Antipatrones
![Page 13: Design Patterns / Patrones de Diseño](https://reader034.vdocuments.pub/reader034/viewer/2022042715/559559771a28ab2f618b46bf/html5/thumbnails/13.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022042715/559559771a28ab2f618b46bf/html5/thumbnails/14.jpg)
“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](https://reader034.vdocuments.pub/reader034/viewer/2022042715/559559771a28ab2f618b46bf/html5/thumbnails/15.jpg)
Historia
![Page 16: Design Patterns / Patrones de Diseño](https://reader034.vdocuments.pub/reader034/viewer/2022042715/559559771a28ab2f618b46bf/html5/thumbnails/16.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022042715/559559771a28ab2f618b46bf/html5/thumbnails/17.jpg)
PLoP 94'
A Development Process Generative Pattern Language”
Design Patterns: Elements of Reusable Object-Oriented Software
![Page 18: Design Patterns / Patrones de Diseño](https://reader034.vdocuments.pub/reader034/viewer/2022042715/559559771a28ab2f618b46bf/html5/thumbnails/18.jpg)
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](https://reader034.vdocuments.pub/reader034/viewer/2022042715/559559771a28ab2f618b46bf/html5/thumbnails/19.jpg)
patterns = language smellhttp://c2.com/cgi/wiki?
AreDesignPatternsMissingLanguageFeatures
![Page 20: Design Patterns / Patrones de Diseño](https://reader034.vdocuments.pub/reader034/viewer/2022042715/559559771a28ab2f618b46bf/html5/thumbnails/20.jpg)
Triviales con 1st class functions
4 Strategy
4 Observer
4 Factory
4 Command
4 Template Method