0
SOLID      Los principios básicos de la OOP@fernandoescolarfer.escolar@gmail.com
Programación Orientada aObjetos   •   Abstracción   •   Encapsulamiento   •   Herencia   •   Cohesión   •   Polimorfismo
Refactorización de código    •   Código duplicado    •   Métodos largos    •   Clases largas    •   Atributos temporales  ...
Código que huele(Code Smells)   •   Rigidez   •   Fragilidad   •   Inmovilidad   •   Viscosidad   •   Complejidad innecesa...
SOLID•   Single responsibility•   Open-closed•   Liskov substitution•   Interface segregation•   Dependency inversion
Single Responsibility Principle      Una clase debe tener una, y solo      una, razón para cambiar
Single Responsibility Principle
Demo
Open-Closed Principle     Debes ser capaz de extender el     comportamiento de una clase sin     necesidad de modificarla ...
Strategy Pattern
Demo
Liskov Substitution Principle      Las clases derivadas, deben poder      ser sustituidas por su clases base
Liskov Substitution Principle
Demo
Interface Segregation Principle      Desgranar las interfaces lo más      fino posible, para que sean lo más      específi...
Interface Segregation Principle
Demo
Demo
Dependency Inversion Principle     Depender de las abstracciones no     de las concreciones
Dependency Injection
Demo
Keep It Simple, Stupid!      Simple no es lo mismo que      programar poco
DRY: Don’t Repeat Yoursef     for(int i = 0; i< 100; i++)         Console.WriteLine(“I’ll not repeat myself”);
YAGNI    Tenemos que ser capaces de    adaptarnos rápidamente al cambio,    no preverlo
Don’t reinvent the wheel      Si ya existe, se adapta a nuestras      necesidades, esta probado y      funciona… ¿por qué ...
Cuando programes: SOLIDPiensa en el objetivo decada principio y si loestás cumpliendo entodo momento.
Preguntas
Bibliografía
¡Muchas gracias!@fernandoescolarfer.escolar@gmail.com
SOLID   para CatDotNet
SOLID   para CatDotNet
SOLID   para CatDotNet
SOLID   para CatDotNet
SOLID   para CatDotNet
SOLID   para CatDotNet
SOLID   para CatDotNet
SOLID   para CatDotNet
SOLID   para CatDotNet
SOLID   para CatDotNet
SOLID   para CatDotNet
SOLID   para CatDotNet
SOLID   para CatDotNet
SOLID   para CatDotNet
Upcoming SlideShare
Loading in...5
×

SOLID para CatDotNet

162

Published on

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

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
162
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
8
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Transcript of "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
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×