Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

SOLID para CatDotNet

446 views

Published on

Principios básicos de la programación y calidad.

  • Be the first to comment

  • Be the first to like this

SOLID para CatDotNet

  1. 1. SOLID Los principios básicos de la OOP@fernandoescolarfer.escolar@gmail.com
  2. 2. Programación Orientada aObjetos • Abstracción • Encapsulamiento • Herencia • Cohesión • Polimorfismo
  3. 3. Refactorización de código • Código duplicado • Métodos largos • Clases largas • Atributos temporales • Código espagueti • Jerarquías de herencia paralelas
  4. 4. Código que huele(Code Smells) • Rigidez • Fragilidad • Inmovilidad • Viscosidad • Complejidad innecesaria • Repetitividad • Opacidad
  5. 5. SOLID• Single responsibility• Open-closed• Liskov substitution• Interface segregation• Dependency inversion
  6. 6. Single Responsibility Principle Una clase debe tener una, y solo una, razón para cambiar
  7. 7. Single Responsibility Principle
  8. 8. Demo
  9. 9. Open-Closed Principle Debes ser capaz de extender el comportamiento de una clase sin necesidad de modificarla (abierto a extensión, cerrado a modificación)
  10. 10. Strategy Pattern
  11. 11. Demo
  12. 12. Liskov Substitution Principle Las clases derivadas, deben poder ser sustituidas por su clases base
  13. 13. Liskov Substitution Principle
  14. 14. Demo
  15. 15. Interface Segregation Principle Desgranar las interfaces lo más fino posible, para que sean lo más específicas posible
  16. 16. Interface Segregation Principle
  17. 17. Demo
  18. 18. Demo
  19. 19. Dependency Inversion Principle Depender de las abstracciones no de las concreciones
  20. 20. Dependency Injection
  21. 21. Demo
  22. 22. Keep It Simple, Stupid! Simple no es lo mismo que programar poco
  23. 23. DRY: Don’t Repeat Yoursef for(int i = 0; i< 100; i++) Console.WriteLine(“I’ll not repeat myself”);
  24. 24. YAGNI Tenemos que ser capaces de adaptarnos rápidamente al cambio, no preverlo
  25. 25. Don’t reinvent the wheel Si ya existe, se adapta a nuestras necesidades, esta probado y funciona… ¿por qué no utilizarlo?
  26. 26. Cuando programes: SOLIDPiensa en el objetivo decada principio y si loestás cumpliendo entodo momento.
  27. 27. Preguntas
  28. 28. Bibliografía
  29. 29. ¡Muchas gracias!@fernandoescolarfer.escolar@gmail.com

×