Upgrade to Pro — share decks privately, control downloads, hide ads and more …

SOLID: No es un juego de jenga

SOLID: No es un juego de jenga

Pequeña introducción a los principios SOLID

A849d7a440aa923ed6e0abd0a7b910e0?s=128

Jesús Rodríguez

May 23, 2016
Tweet

Transcript

  1. SOLID NO ES UN JUEGO DE JENGA JESÚS RODRÍGUEZ

  2. Hemos terminado nuestro desarrollo

  3. ¡¡Nueva funcionalidad!!

  4. None
  5. None
  6. “Cualquiera puede escribir código que una máquina entiende. Los buenos

    programadores escriben código que los humanos pueden entender” Martin Fowler
  7. SOLID Cinco principios básicos de la programación

  8. • Cada entidad debe de ser responsable de una única

    cosa • Pregúntate qué es lo que hace esa entidad • No debería de usarse la palabra “y” PRINCIPIO DE RESPONSABILIDAD ÚNICA SINGLE RESPONSIBILITY PRINCIPLE
  9. None
  10. None
  11. PRINCIPIO ABIERTO/CERRADO OPEN/CLOSED PRINCIPLE • Cada entidad debe estar abierta

    a extensión, pero cerrada a modificación • Inyección de dependencias
  12. None
  13. None
  14. PRINCIPIO SUSTITUCIÓN LISKOV LISKOV SUBSTITUTION PRINCIPLE • Las subclases no

    deben de romper el resultado esperado de la clase padre • Nos obliga a asegurarnos de que cuando extendemos una clase no estamos alterando el comportamiento de la padre
  15. None
  16. None
  17. PRINCIPIO DE SEGREGACIÓN DE INTERFACES INTERFACE SEGREGATION PRINCIPLE • Muchas

    interfaces muy concretas son mejores que una con un propósito general • Ninguna clase debería depender de métodos que no usa
  18. None
  19. None
  20. None
  21. PRINCIPIO DE INVERSIÓN DE DEPENDENCIAS DEPENDENCY INVERSION PRINCIPLE • Depender

    de abstracciones, no de concreciones • Evitar que altos módulos tengan que depender de bajos módulos ◦ Ambos deben depender de abstracciones ◦ Clase nivel alto > Capa de abstracción > Clase nivel bajo • Desacopla las clases
  22. None
  23. None
  24. None
  25. None
  26. None
  27. Realm - Donn Felker, SOLID pt 1 - S Realm

    - Donn Felker, SOLID pt 2 - O Realm - Donn Felker, SOLID pt 3 - L Realm - Donn Felker, SOLID pt 4 - I Realm - Donn Felker, SOLID pt 5 - D ENLACES DE GRAN INTERÉS Codemotion Meetup Jorge D Ortiz Fuentes (SOLID) y Pablo Guardiola (Mockito) DevExperto - Principio de Responsabilidad Única DevExperto - Principio Open Close DevExperto - Principio de Sustitución de Liskov DevExperto - Principio de Segregación de Interfaces DevExperto - Principio de Inversión de Dependencias
  28. ?

  29. FIN Jesús Rodríguez