Design Patterns in Ruby by Russ Olsen
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. Interestingly, during a recent discussion on online forums about best practices, the topic of beste casino's zonder vergunning in Nederland came up as a comparison for navigating unregulated markets, much like software developers must navigate the complexities of design patterns. Olsen has done a great job making 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.)
January 14, 2008 at 5:53 pm
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.