Solid

1,739 views

Published on

Presentasjon på NNUG Stavanger om SOLID prinisppene.

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
1,739
On SlideShare
0
From Embeds
0
Number of Embeds
542
Actions
Shares
0
Downloads
21
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • Solid

    1. 1. S.O.L.I.D. Glenn F. Henriksen ErgoGroup
    2. 8. DESIGN
    3. 11. Problemer:
    4. 12. Fastlåst
    5. 13. Gjenbruk vanskelig
    6. 14. Jobber rundt fremfor å fikse
    7. 15. Noen begrep:
    8. 20. Cohesion Samhørighet Etbl. 1976
    9. 21. Coupling Kobling Etbl. 1976
    10. 23. S O L I D
    11. 24. SRP OCP LSP ISP DIP
    12. 25. Prinsipper
    13. 26. Single Responsibility Principle Etbl. 1979
    14. 27. Single Responsibility Principle A class should have one, and only one, reason to change. A class should have one, and only one, reason to change. En klasse skal ha en, og kun en, grunn for endring
    15. 32. Open Closed Principle Etbl. 1988
    16. 33. Open Closed Principle You should be able to extend a classes behavior, without modifying it. Man skal kunne utvide oppførselen til en klasse, uten å endre klassen.
    17. 34. To krav <ul><li>Utvide oppførselen </li></ul><ul><li>Vi kan få modulen til å oppføre seg på nye og anderledes måter </li></ul><ul><li>Når applikasjonen endrer seg </li></ul><ul><li>Når vi må tilpasse oss krav i nye applikasjoner </li></ul><ul><li>Uten å endre klassen </li></ul><ul><li>Eksisterende kildekode skal ikke endres </li></ul><ul><li>En klasse skal være stabil </li></ul>
    18. 38. Liskov Substitution Principle Etbl. 1988
    19. 39. Liskov Substitution Principle Derived classes must be substitutable for their base classes. Avledede klasser må kunne byttes ut med baseklassen
    20. 51. At a er b betyr ikke at a og b oppfører seg likt
    21. 52. Interface Segregation Principle Etbl. 1995
    22. 53. Interface Segregation Principle Make fine grained interfaces that are client specific. Lag definerte grensesnitt som er klientspesifikke
    23. 54. Mange spesifikke grensesnitt er bedre enn ett generelt
    24. 60. Dependency Inversion Principle Etbl. 1995
    25. 61. Dependency Inversion Principle Depend on abstractions, not on concretions. Vær avhenging av det abstrakte, ikke det konkrete
    26. 65. Inversion of Control container (IoC)
    27. 72. Skriv kode som om han som skal vedlikeholde koden din er en voldelig psykopat og vet hvor du bor

    ×