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.

Practical SOLID with Rails - Andrii Savchenko

14 views

Published on

Ruby Meditation #1
February 23, 2013
Kyiv

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Practical SOLID with Rails - Andrii Savchenko

  1. 1. Practical SOLID with Rails Andrey Savchenko CTO @ Aejis Tuesday, March 19, 13
  2. 2. Let’s start the our new, awesome project! Tuesday, March 19, 13
  3. 3. class < ActiveRecord::Base belongs_to :company has_many :products has_many :warehouses validates_presence_of :name end Tuesday, March 19, 13
  4. 4. Tuesday, March 19, 13
  5. 5. 10 months later... Tuesday, March 19, 13
  6. 6. Tuesday, March 19, 13
  7. 7. Tuesday, March 19, 13
  8. 8. SOLID Tuesday, March 19, 13
  9. 9. SOLID • Single responsibility principle • Open-Closed principle • Liskov substitution principle • Interface segregation principle • Dependency inversion principle Tuesday, March 19, 13
  10. 10. SRP • Easy to read • Easy to change • Easy to reuse No god objects Tuesday, March 19, 13
  11. 11. Tuesday, March 19, 13
  12. 12. Tuesday, March 19, 13
  13. 13. Tuesday, March 19, 13
  14. 14. Tuesday, March 19, 13
  15. 15. Tuesday, March 19, 13
  16. 16. Tuesday, March 19, 13
  17. 17. Tuesday, March 19, 13
  18. 18. Tuesday, March 19, 13
  19. 19. Tuesday, March 19, 13
  20. 20. Tuesday, March 19, 13
  21. 21. PROFIT!? Tuesday, March 19, 13
  22. 22. So much objects? NO! Tuesday, March 19, 13
  23. 23. YES! • https://github.com/drapergem/draper • https://github.com/mbj/aequitas • https://github.com/Ptico/resourced • https://github.com/bogdan/datagrid Tuesday, March 19, 13
  24. 24. OCP Tuesday, March 19, 13
  25. 25. Tuesday, March 19, 13
  26. 26. Tuesday, March 19, 13
  27. 27. LSP Tuesday, March 19, 13
  28. 28. ISP Tuesday, March 19, 13
  29. 29. DI Tuesday, March 19, 13
  30. 30. Tuesday, March 19, 13
  31. 31. Tuesday, March 19, 13
  32. 32. Picture with cat Because everyone loves cats <3 Tuesday, March 19, 13
  33. 33. Questions? • Twitter: @ptico • Github: @ptico Tuesday, March 19, 13

×