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

we need less layers, not more

we need less layers, not more

Avatar for Radamés Roriz

Radamés Roriz

April 09, 2025
Tweet

More Decks by Radamés Roriz

Other Decks in Programming

Transcript

  1. We need less layers, not more powered by Rails Radamés

    Roriz Principal Engineer @ Revelo tropical.rb
  2. 3 Keep it simple as a lifestyle We need this

    button? (👎by design team) Radamés Roriz Principal Engineer @ Revelo
  3. 4 Keep it simple as a lifestyle We need this

    button? (👎by design team) What if we remove this store? (👎 by frontend team) Radamés Roriz Principal Engineer @ Revelo
  4. 5 Keep it simple as a lifestyle We need this

    button? (👎by design team) What if we remove this store? (👎 by frontend team) We should delivery this task later. (👎by product team) Radamés Roriz Principal Engineer @ Revelo
  5. 6 Keep it simple as a lifestyle We need this

    button? (👎by design team) What if we remove this store? (👎 by frontend team) We should delivery this task later. (👎by product team) W hat happens if we rem ove the database norm alization? (👎 by backend team ) Radamés Roriz Principal Engineer @ Revelo
  6. 7 Keep it simple as a lifestyle We need this

    button? (👎by design team) What if we remove this store? (👎 by frontend team) We should delivery this task later. (👎by product team) W hat happens if we rem ove the database norm alization? (👎 by backend team ) For what we save this data? (👎by data team) Radamés Roriz Principal Engineer @ Revelo
  7. 8 Keep it simple as a lifestyle We need this

    button? (👎by design team) What if we remove this store? (👎 by frontend team) We should delivery this task later. (👎by product team) W hat happens if we rem ove the database norm alization? (👎 by backend team ) For what we save this data? (👎by data team) We need to refactor this. (👎 by CTO) Radamés Roriz Principal Engineer @ Revelo
  8. 10

  9. 13

  10. 14

  11. 15 tropical.rb 1. Existing Code Layers Generate Count Value use_case

    repository jobs decorators handlers services models UseCase Orchestration and business logic Service model manipulation and rules Decorator additional functionality to existing model or objects
  12. 17

  13. 30 tropical.rb Complex feature consumers use_case repository view jobs controllers

    adapters decorators handlers services models publishers
  14. 31 tropical.rb Complex feature -- consumers use_case repository view jobs

    controllers adapters decorators handlers services models publishers
  15. 47

  16. 48 Rails features part 1 1 3 2 Action Cable

    Polymorphic Associations strict_loading
  17. 49 Rails features part 2 4 6,7,8… 5 CSRF +

    Sanitization Direct Uploads CurrentAttributes solid_queue Cache Digests
  18. We have a propensity to make things more complicated than

    they need to be. tropical.rb Radamés Roriz Principal Engineer @ Revelo