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)

  1. RubyOnRails.org | Rails Guides: Getting Started with Rails
  2. GeeksforGeeks | MVC Architecture Explained
  3. GeeksforGeeks | MVC Architecture – System Design
  4. Medium | Understanding the Model-View-Controller (MVC) Pattern

Query Objects

  1. Thoughtbot | A Case for Query Objects in Rails
  2. Dev.to | Design Patterns with Ruby on Rails: Query Object
  3. Selleo | Essential RubyOnRails Patterns: Query Objects
  4. Mkdev | How to Use Query Objects to Refactor Rails SQL-Queries
  5. LinkedIn | The Power of the Query Object Pattern in Ruby on Rails

Concern Objects

  1. Medium | Concerns in Rails: A Guide and an Example
  2. YCombinator | Rails Concerns: To Concern or Not to Concern
  3. Dev.to | How to Add Concern in Ruby on Rails
  4. RubyOnRails.org | Best Pattern for 'Repeatable' Model Concerns
  5. SlideShare | Rails Concerns and Turbolinks

Service Objects

  1. Medium | Service Objects: Ruby On Rails Design Patterns
  2. Toptal | Rails Service Objects: A Comprehensive Guide
  3. Dev.to | Rails Service Objects: A Tiny Guide
  4. Jardo.dev | Service Objects for Rails
  5. Honeybadger.io | Refactoring Your Rails App With Service Objects

Form Objects

  1. Medium | Disciplined Rails: Form Object Techniques & Patterns — Part 1
  2. Dev.to | Rails Design Patterns: Form Object
  3. NimbleHQ | Let's Play Design Patterns: Form Objects
  4. Dev.to | How to Implement Form Object Pattern in Ruby on Rails
  5. Selleo | Essential RubyOnRails Patterns: Form Objects

View Components

  1. ViewComponent.org | ViewComponent: Getting Started
  2. Honeybadger.io | Building Reusable UI Components in Rails with ViewComponent
  3. WebCrunch | ViewComponent Crash Course with Ruby on Rails
  4. Medium | Simplifying Rails Views with Reusable View Components
  5. RailsNotes | Some ViewComponent Tips (How I Write Them)

Interactors

  1. Medium | Rails Interactors — Reconstruct Your Application
  2. MagmaLabs | Improving Rails Code Maintainability with the Interactor Pattern
  3. Fullstack | Encapsulating Ruby on Rails Business Logic with Interactors
  4. Saeloun | Using Interactors in Rails
  5. Mkdev | Mastering Interactors in Rails for Clean Business Logic

Policy Objects

  1. Dev.to | How to Implement Policy Object Pattern in Ruby on Rails
  2. LinkedIn | Exploring the Policy Object Pattern in Ruby on Rails
  3. Dev.to | Design Patterns with Ruby on Rails: Policy Object
  4. Medium | Policy Object - by Steve Robinson
  5. Bacancy | Top 10 Trending Design Patterns in Rails

Decorator + Presenter Objects

  1. Medium | Presenter Vs Decorator Vs Helpers in Rails
  2. Thoughtbot | Using the Presenter Pattern in Ruby on Rails
  3. Bacancy | Tutorial on Difference Between Decorator vs Presenter
  4. PawelUrbanek | Simple View Presenter Pattern in Rails without using Gems
  5. Thoughtbot | Decorators Compared To Strategies, Composites, and Presenters

PORO (Plain Old Ruby Objects)

  1. Dev.to | Plain Old Ruby Objects (POROs) in Rails Fat Models
  2. Toptal | Build Sleek Rails Components With Plain Old Ruby Objects
  3. CodeWithJason | Extracting a Tidy PORO from a Messy Active Record Model
  4. Skill.dev | Entendendo PORO em Ruby on Rails
  5. TheCodest | HI, I'M PORO - The Codest