1. Isn’t this a design
sofftek developer
Skill traciende lenguajes
Las bases que TODOS debemos
patterns talk?
tener.
Friday, October 14, 2011
2. aqui me pararia y me
largaba
Object Oriented
Design - Basics
Friday, October 14, 2011
3. ME
Como me siento?
Con quienes he
colaborado?
En que cosas te
apasionas?
• Emmanuel Delgado
• Ingeniero de Software para Crowd
Interactive
• UAA, INEGI, Softtek
• PHP, Perl, Javascript, Java, Ruby
• Apasionadazo
• @chischaschos
Friday, October 14, 2011
4. What makes a system
complicated?
code smell, you feel it
mario c nice code, shit happens eveywhere
same old problems
Friday, October 14, 2011
5. un cambio implica tocar
muchos lugares
Rigidity
Friday, October 14, 2011
11. la imagen es la misma
tendencia dificil de entender
codigo puede ser claro y legible
requieres esfuerzo constante
para seguir siendo leguible
Opacity
Friday, October 14, 2011
12. Rotten system usual smells
• Rigidity
• Fragility
ocurren poco a poco un
commit a la vez
• Viscosity
• Immobility
• Unnecessary duplicity and complexity
• Opacity
Friday, October 14, 2011
13. small building blocks
small shapes
Pequeñas formas ->
grandes diseños
Bellos?
Small components design
principles
Friday, October 14, 2011
29. DI - What is a dependency?
dependencia agrega
responsabilidades
responsabilidad da
razones para cambiar
vas a tener que hacer
cambios
entre menos mejor, asi
gastas mas tiempo
creando codigo obra d arte
Friday, October 14, 2011
30. DI - Depend upon abstractions
Si tu clase emplea servicios externos, o tiene
muchas librerias requeridas,
o ves demasiadas constantes, utilizalas tan tarde
como puedas.
Friday, October 14, 2011
31. Basic suggestions
• Only one responsibility per object
• Encapsulate what changes
• Depend upon abstractions
• Delegate responsibilities
• Composition over inheritance
• Extend components, do not reopen them
Friday, October 14, 2011
32. patrones de diseño
alguien identifico
problemas comunes
formas se repiten
evita crear patrones
hasta el ultimo momento
Afterwards common
shapes will arise
Friday, October 14, 2011
33. Observer
• THINK: monitoring
behavior
Friday, October 14, 2011
48. Conclusion
• Follow damn simple principles
• Do not program upon design patterns, let
them arise by themselves
• Refactor to design patterns
Friday, October 14, 2011
52. References - 4
pregunta para ustedes como mantienes el diseño
dia tras dia?
boy scout rule
tdd
refactor all the fucking time
Friday, October 14, 2011