Ruby Weekly is a weekly newsletter covering the latest Ruby and Rails news.

Design Patterns in Ruby by Russ Olsen

By Peter Cooper / January 12, 2008

Design Patterns in Ruby (non-affiliate link to Amazon) is a new Ruby book by Russ Olsen and published by Addison-Wesley as part of their Obie Fernandez-led "Professional Ruby" series. It's currently for sale at $42.99 at Amazon, but is also available on Safari if you'd rather read online.

Let me cover the bases by quoting my own quote found within the book:

This book provides a great demonstration of the key 'Gang of Four' design patterns without resorting to overly technical explanations. Written in a precise, yet almost informal style, this book covers enough ground that even those without prior exposure to design patterns will soon feel confident applying them using Ruby. Olsen has done a great job to make a book about a classically 'dry' subject into such an engaging and even occasionally humorous read.

I'm not one to pander, so take it from me, this book is a great demonstration of the implementation of the classic Gang of Four design patterns in Ruby and it is well written. One thing I failed to mention is that while it's never dizzyingly complex, it does go deep on some of Ruby's features, so you're going to be learning how to put together DSLs, how to use magic methods, duck typing, the issues related to dynamic typing, and other such voodoo.

Even if you're not familiar with the GoF design patterns, or the whole concept of "design patterns" in general, it's possible to learn what they're all about from this book as Olsen makes sure to introduce each pattern well. So if terms like "Command Pattern", "Strategy", "DSL", "Interpreter Pattern" and "Factory methods" confuse you but you'd quite like to impress your fellow coders with your new found vocabulary, this is the book to get.

If you want to learn a little more, Pat Eyler has his own mini-review of the book over at On Ruby.

(Disclaimer: I was a technical reviewer of this title, but otherwise have no financial or promotional interests in it.)


  1. Jeff Casimir says:

    I'm about halfway through and REALLY enjoying this book. It is great mid- or upper-tier reading. Through my CS education we never touched design patterns and, while I know of the GoF texts, I haven't pursued them on my own.

    As I go through the book I find myself frequently saying "Oh. That's why people say [XYZ] is such a great feature of Ruby." I find the patterns, in general, to be the type of learning where afterwards you say "Well, that was obvious" but you might not have really understood the approach and vocabulary without reading it.

    On the trivial side, I love the form factor. Thin, nice page size, and hard cover.

Other Posts to Enjoy

Twitter Mentions