Just read ‘Patterns of Enterprise Application Architecture’ .

The book that explains the theory behind some Ruby on Rails designs.

The book in Amazon

I like how Martin Fowler writes, but beyond that, I liked a lot the content and philosophy behind this book.

The books explains design patterns very frequent in enterprise applications with examples. It also includes diagrams and implementations in Java that explain the scenarios.

The book is intended to be for any software developer but if you are a Ruby on Rails developer, I’m sure you’ll enjoy reading the theory and the discussion behind some patterns you use every day. Ruby on Rails is clearly inspired by this book and it is a phenomenal reference for some concepts.

Some examples:

  • Domain model and Active Record.
  • Concurrency control with Pessimistic or Optimistic Locking.
  • Transactions.
  • Sessions (Server / Client / Database)
  • MVC. Model View Controller
  • Application Controller

Here you can find the full pattern catalog online.

Other chapters that I liked not directly related with Ruby on Rails are Service Layers or Distributed Systems.

I wish you enjoy reading this book as much as I did :)