Principios de Diseño en OO Diseño al cubo : Plan TDD Donostia, 03/06/2011
Plan TDD Principios de diseño en OO <ul><li>Agenda : </li></ul><ul><ul><li>Principios SOLID </li></ul></ul><ul><ul><li>Otr...
Plan TDD SOLID <ul><ul><li>S rp  </li></ul></ul><ul><ul><li>O cp  </li></ul></ul><ul><ul><li>L sp </li></ul></ul><ul><ul><...
Plan TDD <ul><li>No debe haber más de un  </li></ul><ul><li>motivo para que cambie una clase </li></ul>SOLID <ul><li>S ing...
Plan TDD SOLID
Plan TDD SOLID ReportPrinter <ul><li>print() </li></ul>Report <ul><li>print() </li></ul>ReportFormatter <ul><li>formatRepo...
Plan TDD <ul><li>Cerrado a la modificación </li></ul>SOLID <ul><li>O pen  C lose  P rinciple </li></ul><ul><li>Abierto a l...
Plan TDD SOLID
Plan TDD SOLID
Plan TDD <ul><li>Diferenciar entre sub-tipo y sub-clase, Barbara Liskov </li></ul>SOLID <ul><li>L ivcov  S ubstitution  P ...
Plan TDD SOLID
Plan TDD SOLID
Plan TDD SOLID
Plan TDD SOLID
Plan TDD <ul><li>No forzar a implementar métodos que no se utilizan </li></ul>SOLID <ul><li>I nterface  S egregation  P ri...
Plan TDD SOLID
Plan TDD SOLID
Plan TDD SOLID
Plan TDD SOLID
Plan TDD <ul><li>Los módulos superiores no deben </li></ul><ul><li>depender de los módulos de los  </li></ul><ul><li>nivel...
Plan TDD SOLID
Plan TDD SOLID
Plan TDD SOLID
Plan TDD <ul><li>Agenda : </li></ul><ul><ul><li>Principios SOLID </li></ul></ul><ul><ul><li>Otros principios </li></ul></u...
Plan TDD Otros principios DRY KISS
Plan TDD YAGNI Otros principios
Plan TDD <ul><li>Agenda : </li></ul><ul><ul><li>Principios SOLID </li></ul></ul><ul><ul><li>Otros principios </li></ul></u...
Bulego-lanak <ul><li>Tarea: </li></ul><ul><ul><li>Refactorizar  “ encryptor ” </li></ul></ul><ul><ul><li>Aplicar los princ...
¡Nos vemos en 15 días! Bulego-lanak Plan TDD
Ruben Egiluz Software Engineer Donewtech Solutions, S.L. Zubiberri Bidea 31 Edificio Urumea 20018 Donostia – San Sebastián...
Próxima SlideShare
Cargando en…5
×

Principios de diseño oo

987 visualizaciones

Publicado el

Presentation about SOLID principles and others object-oriented programming principles

Publicado en: Tecnología
0 comentarios
0 recomendaciones
Estadísticas
Notas
  • Sé el primero en comentar

  • Sé el primero en recomendar esto

Sin descargas
Visualizaciones
Visualizaciones totales
987
En SlideShare
0
De insertados
0
Número de insertados
3
Acciones
Compartido
0
Descargas
20
Comentarios
0
Recomendaciones
0
Insertados 0
No insertados

No hay notas en la diapositiva.

Principios de diseño oo

  1. 1. Principios de Diseño en OO Diseño al cubo : Plan TDD Donostia, 03/06/2011
  2. 2. Plan TDD Principios de diseño en OO <ul><li>Agenda : </li></ul><ul><ul><li>Principios SOLID </li></ul></ul><ul><ul><li>Otros principios </li></ul></ul><ul><ul><li>Bulego-lanak </li></ul></ul>
  3. 3. Plan TDD SOLID <ul><ul><li>S rp </li></ul></ul><ul><ul><li>O cp </li></ul></ul><ul><ul><li>L sp </li></ul></ul><ul><ul><li>I sp </li></ul></ul><ul><ul><li>D ip </li></ul></ul>Single Responsibility Principle Open Close Principle Liskov Substitution Principle Interface Segregation Principle Dependency Injection Principle
  4. 4. Plan TDD <ul><li>No debe haber más de un </li></ul><ul><li>motivo para que cambie una clase </li></ul>SOLID <ul><li>S ingle R esponsibility P rinciple </li></ul><ul><li>Se favorece el desacoplamiento de las clases </li></ul><ul><li>Primera solución: una interface por cada responsabilidad </li></ul>
  5. 5. Plan TDD SOLID
  6. 6. Plan TDD SOLID ReportPrinter <ul><li>print() </li></ul>Report <ul><li>print() </li></ul>ReportFormatter <ul><li>formatReport() </li></ul>DataAccess <ul><li>getData() </li></ul>
  7. 7. Plan TDD <ul><li>Cerrado a la modificación </li></ul>SOLID <ul><li>O pen C lose P rinciple </li></ul><ul><li>Abierto a la extensión </li></ul><ul><li>Abstracción </li></ul><ul><li>Previene introducir bugs </li></ul>
  8. 8. Plan TDD SOLID
  9. 9. Plan TDD SOLID
  10. 10. Plan TDD <ul><li>Diferenciar entre sub-tipo y sub-clase, Barbara Liskov </li></ul>SOLID <ul><li>L ivcov S ubstitution P rinciple </li></ul><ul><li>Previene abusar de la herencia y </li></ul><ul><li>el polimorfismo </li></ul><ul><li>Respetar las pre-condiciones y las post-condiciones </li></ul>
  11. 11. Plan TDD SOLID
  12. 12. Plan TDD SOLID
  13. 13. Plan TDD SOLID
  14. 14. Plan TDD SOLID
  15. 15. Plan TDD <ul><li>No forzar a implementar métodos que no se utilizan </li></ul>SOLID <ul><li>I nterface S egregation P rinciple </li></ul><ul><li>Evitar las interfaces “gordas” </li></ul><ul><li>Solución: separar las interfaces en varias “finitas” </li></ul>
  16. 16. Plan TDD SOLID
  17. 17. Plan TDD SOLID
  18. 18. Plan TDD SOLID
  19. 19. Plan TDD SOLID
  20. 20. Plan TDD <ul><li>Los módulos superiores no deben </li></ul><ul><li>depender de los módulos de los </li></ul><ul><li>niveles inferiores </li></ul>SOLID D ependency I njection P rinciple <ul><li>Las abstracciones no deben depender </li></ul><ul><li>de detalles, los detalles deben depender </li></ul><ul><li>de las abstracciones </li></ul>
  21. 21. Plan TDD SOLID
  22. 22. Plan TDD SOLID
  23. 23. Plan TDD SOLID
  24. 24. Plan TDD <ul><li>Agenda : </li></ul><ul><ul><li>Principios SOLID </li></ul></ul><ul><ul><li>Otros principios </li></ul></ul><ul><ul><li>Bulego-lanak </li></ul></ul>Principios de diseño en OO
  25. 25. Plan TDD Otros principios DRY KISS
  26. 26. Plan TDD YAGNI Otros principios
  27. 27. Plan TDD <ul><li>Agenda : </li></ul><ul><ul><li>Principios SOLID </li></ul></ul><ul><ul><li>Otros principios </li></ul></ul><ul><ul><li>Bulego-lanak </li></ul></ul>Principios de diseño en OO
  28. 28. Bulego-lanak <ul><li>Tarea: </li></ul><ul><ul><li>Refactorizar “ encryptor ” </li></ul></ul><ul><ul><li>Aplicar los principios de diseño </li></ul></ul>Plan TDD
  29. 29. ¡Nos vemos en 15 días! Bulego-lanak Plan TDD
  30. 30. Ruben Egiluz Software Engineer Donewtech Solutions, S.L. Zubiberri Bidea 31 Edificio Urumea 20018 Donostia – San Sebastián +34 943 223 031 www.donewtech.com ¡¡Gracias!!

×