The Classic M.V.C.Q.C.S.F.V.I.P.D. Architecture
Model, View, Controller Objects
Problem
Solution
Query Objects
Problem
Solution
Concern Objects
Problem
Solution
Service Objects
Problem
Solution
Form Objects
Problem
Solution
View Components
Problem
Solution
Interactors
Problem
Solution
Policy Objects
Problem
Solution
Decorator + Presenter Objects
Problem
Solution
PORO
Problem
Solution
Slides
slides/mvc
Resources
Model, View, Controller (MVC)
- RubyOnRails.org | Rails Guides: Getting Started with Rails
- GeeksforGeeks | MVC Architecture Explained
- GeeksforGeeks | MVC Architecture – System Design
- Medium | Understanding the Model-View-Controller (MVC) Pattern
Query Objects
- Thoughtbot | A Case for Query Objects in Rails
- Dev.to | Design Patterns with Ruby on Rails: Query Object
- Selleo | Essential RubyOnRails Patterns: Query Objects
- Mkdev | How to Use Query Objects to Refactor Rails SQL-Queries
- LinkedIn | The Power of the Query Object Pattern in Ruby on Rails
Concern Objects
- Medium | Concerns in Rails: A Guide and an Example
- YCombinator | Rails Concerns: To Concern or Not to Concern
- Dev.to | How to Add Concern in Ruby on Rails
- RubyOnRails.org | Best Pattern for 'Repeatable' Model Concerns
- SlideShare | Rails Concerns and Turbolinks
Service Objects
- Medium | Service Objects: Ruby On Rails Design Patterns
- Toptal | Rails Service Objects: A Comprehensive Guide
- Dev.to | Rails Service Objects: A Tiny Guide
- Jardo.dev | Service Objects for Rails
- Honeybadger.io | Refactoring Your Rails App With Service Objects
Form Objects
- Medium | Disciplined Rails: Form Object Techniques & Patterns — Part 1
- Dev.to | Rails Design Patterns: Form Object
- NimbleHQ | Let's Play Design Patterns: Form Objects
- Dev.to | How to Implement Form Object Pattern in Ruby on Rails
- Selleo | Essential RubyOnRails Patterns: Form Objects
View Components
- ViewComponent.org | ViewComponent: Getting Started
- Honeybadger.io | Building Reusable UI Components in Rails with ViewComponent
- WebCrunch | ViewComponent Crash Course with Ruby on Rails
- Medium | Simplifying Rails Views with Reusable View Components
- RailsNotes | Some ViewComponent Tips (How I Write Them)
Interactors
- Medium | Rails Interactors — Reconstruct Your Application
- MagmaLabs | Improving Rails Code Maintainability with the Interactor Pattern
- Fullstack | Encapsulating Ruby on Rails Business Logic with Interactors
- Saeloun | Using Interactors in Rails
- Mkdev | Mastering Interactors in Rails for Clean Business Logic
Policy Objects
- Dev.to | How to Implement Policy Object Pattern in Ruby on Rails
- LinkedIn | Exploring the Policy Object Pattern in Ruby on Rails
- Dev.to | Design Patterns with Ruby on Rails: Policy Object
- Medium | Policy Object - by Steve Robinson
- Bacancy | Top 10 Trending Design Patterns in Rails
Decorator + Presenter Objects
- Medium | Presenter Vs Decorator Vs Helpers in Rails
- Thoughtbot | Using the Presenter Pattern in Ruby on Rails
- Bacancy | Tutorial on Difference Between Decorator vs Presenter
- PawelUrbanek | Simple View Presenter Pattern in Rails without using Gems
- Thoughtbot | Decorators Compared To Strategies, Composites, and Presenters
PORO (Plain Old Ruby Objects)
- Dev.to | Plain Old Ruby Objects (POROs) in Rails Fat Models
- Toptal | Build Sleek Rails Components With Plain Old Ruby Objects
- CodeWithJason | Extracting a Tidy PORO from a Messy Active Record Model
- Skill.dev | Entendendo PORO em Ruby on Rails
- TheCodest | HI, I'M PORO - The Codest