OOP vs. services for organizing business logic: is there a third way?

This page summarizes the projects mentioned and recommended in the original post on dev.to

Our great sponsors
  • InfluxDB - Access the most powerful time series database as a service
  • SonarQube - Static code analysis for 29 languages.
  • SaaSHub - Software Alternatives and Reviews
  • learn-ruby

    Learning resources for Ruby, Rails, and related skills.

    So I've set out to explore the problem of organizing business logic from more angles than before, using the resources listed below. These lists are excerpted from my "Learning Ruby" road map which I often update, so you may want to find these lists there if this post is old at the time of your reading it. The sections corresponding to the lists below are, at the time of writing, "Rails architecture" and "Rails codebases".

  • Interactor

    Interactor provides a common interface for performing complex user interactions.


  • InfluxDB

    Access the most powerful time series database as a service. Ingest, store, & analyze all types of time series data in a fully-managed, purpose-built database. Keep data forever with low-cost storage and superior data compression.

  • Rails Event Store

    A Ruby implementation of an Event Store based on Active Record

    Rails Event Store – for an event-driven architecture

  • ventable

    Event/Observable support for plain ruby with options for grouping observers and wrapping notifications in blocks of code, such as transaction handling.

    Ventable – a variation of the Observer design pattern

  • wisper

    A micro library providing Ruby objects with Publish-Subscribe capabilities

    Wisper – the Publish-Subscribe design pattern

  • packwerk

    Good things come in small packages.

    Packwerk – to enforce boundaries and modularize Rails applications

  • CodeTriage

    Discover the best way to get started contributing to Open Source projects

    github.com/codetriage/codetriage (6k lines): Issue tracker for open-source projects.

  • SonarQube

    Static code analysis for 29 languages.. Your projects are multi-language. So is SonarQube analysis. Find Bugs, Vulnerabilities, Security Hotspots, and Code Smells so you can release quality code every time. Get started analyzing your projects today for free.

  • railsdevs.com

    The reverse job board for Ruby on Rails developers.

    github.com/joemasilotti/railsdevs.com (12k lines): The reverse job board for Ruby on Rails developers.

  • Lobsters

    Computing-focused community centered around link aggregation and discussion

    github.com/lobsters/lobsters (13k lines): Hacker News clone.

  • upcase

    Sharpen your programming skills.

    github.com/thoughtbot/upcase (14k lines): Learning platform for developers.

  • HoundCI

    Automated code review for GitHub pull requests. (by houndci)

    github.com/houndci/hound (14k lines): Automated code review for GitHub PRs.

  • RubyGems

    The Ruby community's gem hosting service.

    github.com/rubygems/rubygems.org (26k lines): Where Ruby gems are hosted.

  • Solidus

    🛒 Solidus, the open-source eCommerce framework for industry trailblazers.

    github.com/solidusio/solidus (72k lines): E-commerce platform.

  • Mastodon

    Your self-hosted, globally interconnected microblogging community

    github.com/mastodon/mastodon (75k lines): Like Twitter but self-hosted and federated.

  • forem

    For empowering community 🌱

    github.com/forem/forem (103k lines): Powers the blogging site dev.to.

  • whitehall

    Publishes government content on GOV.UK

    github.com/alphagov/whitehall (117k lines): Publishes government content on gov.uk.

  • Discourse

    A platform for community discussion. Free, open, simple.

    github.com/discourse/discourse (322k lines): Discussion forum platform.

  • Canvas LMS

    The open LMS by Instructure, Inc.

    github.com/instructure/canvas-lms (745k lines): A popular LMS (learning management system).

  • gitlab

    gitlab.com/gitlab-org/gitlab (1.8 million lines): Like GitHub but with CI/CD and DevOps features built in. Has great docs on architecture.

  • Sequent

    CQRS & event sourcing framework for Ruby

    Sequent – CQRS and event sourcing

  • govuk-puppet

    Puppet manifests used to provision the main GOV.UK web stack

    Publishes government content on gov.uk.

  • Hanami

    The web, with simplicity.

    Data Oriented Web Development with Ruby (upcoming book) by Peter Solnica, who is on the Hanami core team. Learning Hanami wouldn't be a bad idea either.

  • dry-transaction

    Business transaction DSL


  • SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts