Principios de diseño oo

987 views

Published on

Presentation about SOLID principles and others object-oriented programming principles

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
987
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
20
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

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!!

×