Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Taming God Objects: easy, incremental and secure

Taming God Objects: easy, incremental and secure

Everyone has worked with an app with enormous classes, filled with mixed responsibilities. They're hard to understand, hard to change and hard to test.

In this presentation we're gonna learn a refactoring technique to start taming those little monsters.

Matheus Richard

January 27, 2021
Tweet

More Decks by Matheus Richard

Other Decks in Programming

Transcript

  1. View Slide

  2. View Slide

  3. View Slide

  4. View Slide

  5. View Slide

  6. View Slide

  7. View Slide

  8. View Slide

  9. View Slide

  10. View Slide

  11. View Slide

  12. View Slide

  13. View Slide

  14. View Slide






  15. View Slide



  16. View Slide


  17. View Slide


  18. View Slide

  19. View Slide

  20. View Slide

  21. View Slide

  22. God class
    You
    SRP

    View Slide

  23. View Slide

  24. View Slide

  25. View Slide

  26. View Slide

  27. View Slide

  28. Split

    View Slide

  29. View Slide

  30. READ
    WRITE

    View Slide

  31. WRITE
    Piece to
    extract
    READ
    WRITE

    View Slide


  32. View Slide


  33. View Slide


  34. View Slide

  35. READ
    User::Settings
    READ
    WRITE WRITE
    User::Settings

    View Slide


  36. View Slide


  37. View Slide

  38. View Slide




  39. View Slide

  40. View Slide

  41. READ READ
    WRITE WRITE
    settings
    User::Settings

    View Slide


  42. View Slide


  43. View Slide


  44. View Slide

  45. READ
    User::Settings
    READ
    WRITE WRITE
    settings
    WRITE
    User::Settings

    View Slide


  46. View Slide



  47. View Slide

  48. READ
    User::Settings
    READ
    WRITE WRITE
    settings
    WRITE
    user

    View Slide



  49. View Slide


  50. View Slide

  51. READ
    User::Settings
    WRITE WRITE
    settings
    WRITE
    READ
    user

    View Slide



  52. View Slide



  53. View Slide

  54. READ
    User::Settings
    WRITE
    settings
    WRITE
    READ
    user

    View Slide


  55. View Slide


  56. View Slide


  57. View Slide

  58. View Slide

  59. Split

    View Slide

  60. View Slide

  61. WRITE
    Piece to
    extract
    READ
    WRITE

    View Slide

  62. READ
    User::Settings
    READ
    WRITE WRITE
    User::Settings

    View Slide

  63. READ READ
    WRITE WRITE
    settings
    User::Settings

    View Slide

  64. READ
    User::Settings
    READ
    WRITE WRITE
    settings
    WRITE
    User::Settings

    View Slide

  65. READ
    User::Settings
    READ
    WRITE WRITE
    settings
    WRITE
    user

    View Slide

  66. READ
    User::Settings
    WRITE WRITE
    settings
    WRITE
    READ
    user

    View Slide

  67. READ
    User::Settings
    WRITE
    settings user

    WRITE
    READ

    View Slide

  68. View Slide

  69. View Slide





  70. View Slide


  71. ○ Refactoring (Book)

    ○ Get a Whiff of This (Talk at RailsConf 2016)

    ○ Strangler Fig Pattern

    View Slide

  72. View Slide