Design Patterns in Ruby Book Review

Design Patterns in Ruby (US | UK) is the first book entirely dedicated to the implementation of the most common Design Patterns in Ruby as defined by the Gang of Four (GoF).

It's written by Russ Olsen, published by Addison-Wesley and is a part of the Professional Ruby Series managed by Obie Fernandez. This series is without a doubt synonymous to quality and guarantee for those looking for a book about Ruby.


The book is divided in three parts.

The first part, Patterns and Ruby, is a quick introduction to the design patterns and the Ruby programming language. As I said before, you should not rely too much on the second chapter. A single section is not enough to demonstrate the power of the Ruby language.

The second part, Patterns in Ruby, is the heart of the book and describes 13 patterns. Each chapter covers one of the different patterns originally discussed by the GoF, providing a brief introduction, practical examples of the Ruby implementation and a few real world examples, inspired by famous Ruby libraries such as Rails and URI. At the end of each chapter, a summarizing paragraph wraps up the most important Design Pattern elements.

The third part, Pattern for Ruby, takes into consideration 3 patterns not included in the original book but emerged with the introduction and the development of the Ruby language.


In order to read this book, you don't need to be a master of Ruby. However, a certain amount of knowledge can be helpful, considering that some design patterns use Ruby aspects such as meta-programming, reflection, modules, symbols, and blocks. The second chapter of the book offers a brief introduction to Ruby, but if you really want a deep Ruby introduction you should try Learn to Program or Programming Ruby (US | UK).

You don't need any specific Design Pattern knowledge in order to appreciate this book. It covers all Design Patterns from theory to the practical implementation providing you with a full overview of the subject.

How was it?

I finished the book in no more than a week, dedicating an hour a day in tram. If you have a certain familiarity with Ruby and Object Oriented Programming, Design Patterns in Ruby is a quick and involving reading.

Once more, the Addison-Wesley and the Professional Ruby Series completely met my expectations.

Russ Olsen had the ability to write an easily readable publication, without compromising the quality of the book. Each chapter is self-contained and they can be read in no specific order. If I must find a dislike, then I would say the price could be lower, compared to the average price of similar books. But you know, quality has its price.

Who should read it?

I strongly suggest this book to all those programmers who wish to improve their Ruby development knowledge and leverage their skills to an even more professional level. Design Patterns are an advanced and professional solution to the most common software development problems and should be part of every professional developer.