Programming Books C Java PHP Python Learn more Browse Programming Books
Design Patterns in Ruby and over one million other books are available for Amazon Kindle. Learn more
  • List Price: $56.99
  • Save: $13.32 (23%)
Only 14 left in stock (more on the way).
Ships from and sold by
Gift-wrap available.
Design Patterns in Ruby has been added to your Cart
+ $3.99 shipping
Used: Very Good | Details
Sold by hippo_books
Condition: Used: Very Good
Comment: Very Good: Cover and pages how some wear from reading and storage.
Access codes and supplements are not guaranteed with used items.
Sell yours for a Gift Card
We'll buy it for $15.96
Learn More
Trade in now
Have one to sell? Sell on Amazon
Flip to back Flip to front
Listen Playing... Paused   You're listening to a sample of the Audible audio edition.
Learn more
See all 2 images

Design Patterns in Ruby Hardcover – December 20, 2007

ISBN-13: 978-0321490452 ISBN-10: 0321490452 Edition: 1st

Buy New
Price: $43.67
22 New from $32.79 26 Used from $31.42
Amazon Price New from Used from
"Please retry"
"Please retry"
$32.79 $31.42
Free Two-Day Shipping for College Students with Amazon Student Free%20Two-Day%20Shipping%20for%20College%20Students%20with%20Amazon%20Student

Hero Quick Promo
Save up to 90% on Textbooks
Rent textbooks, buy textbooks, or get up to 80% back when you sell us your books. Shop Now
$43.67 FREE Shipping. Only 14 left in stock (more on the way). Ships from and sold by Gift-wrap available.

Frequently Bought Together

Design Patterns in Ruby + Practical Object-Oriented Design in Ruby: An Agile Primer (Addison-Wesley Professional Ruby Series) + Eloquent Ruby (Addison-Wesley Professional Ruby Series)
Price for all three: $114.78

Buy the selected items together

Editorial Reviews

From the Back Cover

Praise forDesign Patterns in Ruby

"Design Patterns in Rubydocuments smart ways to resolve many problems that Ruby developers commonly encounter. Russ Olsen has done a great job of selecting classic patterns and augmenting these with newer patterns that have special relevance for Ruby. He clearly explains each idea, making a wealth of experience available to Ruby developers for their own daily work."

—Steve Metsker, Managing Consultant with Dominion Digital, Inc.

"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."

—Peter Cooper

"This book renewed my interest in understanding patterns after a decade of good intentions. Russ picked the most useful patterns for Ruby and introduced them in a straightforward and logical manner, going beyond the GoF's patterns. This book has improved my use of Ruby, and encouraged me to blow off the dust covering the GoF book."

—Mike Stok

"Design Patterns in Rubyis a great way for programmers from statically typed objectoriented languages to learn how design patterns appear in a more dynamic, flexible language like Ruby."

—Rob Sanheim, Ruby Ninja, Relevance

Most design pattern books are based on C++ and Java. But Ruby is different—and the language's unique qualities make design patterns easier to implement and use. In this book, Russ Olsen demonstrates how to combine Ruby's power and elegance with patterns, and write more sophisticated, effective software with far fewer lines of code.

After reviewing the history, concepts, and goals of design patterns, Olsen offers a quick tour of the Ruby language—enough to allow any experienced software developer to immediately utilize patterns with Ruby. The book especially calls attention to Ruby features that simplify the use of patterns, including dynamic typing, code closures, and "mixins" for easier code reuse.

Fourteen of the classic "Gang of Four" patterns are considered from the Ruby point of view, explaining what problems each pattern solves, discussing whether traditional implementations make sense in the Ruby environment, and introducing Ruby-specific improvements. You'll discover opportunities to implement patterns in just one or two lines of code, instead of the endlessly repeated boilerplate that conventional languages often require.

Design Patterns in Rubyalso identifies innovative new patterns that have emerged from the Ruby community. These include ways to create custom objects with metaprogramming, as well as the ambitious Rails-based "Convention Over Configuration" pattern, designed to help integrate entire applications and frameworks.

Engaging, practical, and accessible,Design Patterns in Rubywill help you build better software while making your Ruby programming experience more rewarding.

About the Author

Russ Olsen has been building software for more than twenty-five years. He has led projects through several generations of programming technologies, from FORTRAN to C to C++ to Java, and now Ruby. He has been using and teaching Ruby since 2002. Olsen writes the popular technology blog Technology As If People Mattered (


Shop the new
New! Introducing the, a hub for Software Developers and Architects, Networking Administrators, TPMs, and other technology professionals to find highly-rated and highly-relevant career resources. Shop books on programming and big data, or read this week's blog posts by authors and thought-leaders in the tech industry. > Shop now

Product Details

  • Hardcover: 384 pages
  • Publisher: Addison-Wesley Professional; 1 edition (December 20, 2007)
  • Language: English
  • ISBN-10: 0321490452
  • ISBN-13: 978-0321490452
  • Product Dimensions: 7.3 x 1 x 9.6 inches
  • Shipping Weight: 1.6 pounds (View shipping rates and policies)
  • Average Customer Review: 4.5 out of 5 stars  See all reviews (28 customer reviews)
  • Amazon Best Sellers Rank: #260,278 in Books (See Top 100 in Books)

More About the Author

Discover books, learn about writers, read author blogs, and more.

Customer Reviews

If you're already a programmer, this book an excellent way to learn Ruby.
D. Brent Chapman
This book, Design Patterns in Ruby takes several of the principles found in the widely known book, Design Patterns by The Gang of Four, and applies them to Ruby.
Nate Klaiber
The author's style and the book's format make for an easy and informative reading experience.
Craig Maloney

Most Helpful Customer Reviews

42 of 42 people found the following review helpful By Ricardo Dapaz on February 7, 2008
Format: Hardcover
Warning: This book is not a reference!!!
Well, it could be but it probably won't need to be as each concept is explained so well that you will remember when to apply this pattern or that pattern for every situation. The author is engaging and funny making this quite a book turner for a technical book. I almost read half the book on the 2 hour commuter flight between Perth and Karatha. Every chapter starts with a little anectode about the author's past life events and how these are related to the use of a particular pattern. The examples are well thought out and the author also discusses Ruby specific implementation details as well as providing valuable insights into how each pattern is used in the existing Ruby codebase.

I come from a Python/C/C++/Java background and have been tinkering around with ruby for a while but without really "getting it" and understanding what the fuss was about. The same could be said about design patterns. After reading this book I have finally grokked, not only Ruby but the value and power of design patterns. I can now say that I truly understand exactly why there is such a hype about Ruby. The whole method_missing thing, singleton support, ability to clone classes, etc. This language really represents the future of programming - today - and this book delivers on its intent.

This is simply one of the best technical books that I have read in a long time and I thoroughly recommend it, especially for an intermediate Ruby programmer and even those who know OO concepts and principles but may be new to Ruby.
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
22 of 22 people found the following review helpful By David L. Richards on January 13, 2008
Format: Hardcover
I just finished this book, cover to cover. I rarely read books like this all the way through. I scan them and keep them around in case they help me out of a jam. But this book is different. It is formative in the sense that the original Gang of Four (GoF) book on patterns was formative: it asks us to think about our problems in fresh ways.

One important part of this book, however, stresses the use and overuse of these patterns. Olsen emphasizes that this isn't a competition to use all the patterns. Whoever has the most patterns doesn't necessarily win. Whoever uses code gracefully and simply does. It reminds me of the talk by Marcel Molina Jr. at RubyConf 07, speaking about what makes code beautiful. It's the proportion, integrity, and clarity that makes beautiful code. I.e., we keep the code as simple as we can, keep it focused on the problem at hand, and we do it clearly. This book warns against misuse or abuse of patterns as much as it teaches the patterns themselves.

Another thing that I found very useful about this book is it suggests simpler ways for my existing code. This tells me that, though I was happy with the function of what I could do once, the form can improve that it doesn't fall apart in the face of future iterations.

Finally, I enjoy how each chapter evolves. We start with a rigorous interpretation of the GoF patterns, then Olsen introduces simpler ways to implement the ideas that take into account Ruby's available economies. So, we write simpler code, understand the tradoffs of the various alternative implementation methods, and understand the patterns themselves more concretely.

Other than the occasional loose editing that come up from time to time, I really wouldn't change what was written.
Read more ›
1 Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
8 of 8 people found the following review helpful By Craig Maloney on July 27, 2008
Format: Hardcover
I never really understood the need for Design Patterns. After reading several blogs, and listening to other programmers, I thought that Design Patterns might even somehow be harmful to my programming education. I felt that just by learning what they were, I'd somehow pollute my thinking to the point where I wouldn't be able to program without seeing a pattern in there somewhere. When I heard of the book Design Patterns in Ruby, I flinched. What good could possibly come from introducing Design Patterns into Ruby, I asked myself? Fortunately, my initial prejudices were unfounded. Design Patterns in Ruby is not some secret plot to turn all of the Ruby programmers into mindless drones; it is a very thorough introduction to Ruby, Design Patterns, and Object Oriented Programming concepts. Design Patterns in Ruby helped me to finally look critically at Design Patterns, and see them as something not to be feared, but as something that could be useful, even in my Ruby programming.

Design Patterns in Ruby is written with the idea that while the reader might be a good programmer, they may have somehow missed what Design Patterns are, or the reader might not know much about Ruby. The first two chapters rectify this by introducing the reader to what exactly these Design Patterns are. The author explains precisely which of the 14 of the original 23 "Gang of Four" patterns are covered in the book, and reasons why the 14 patterns were chosen. Chapter 2 is a quick introduction to Ruby, just to ensure everyone is on the same page. The author, in a single chapter, clearly explained concepts that other books I have read couldn't clearly convey, even after several chapters.
Read more ›
1 Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again

Most Recent Customer Reviews

Set up an Amazon Giveaway

Amazon Giveaway allows you to run promotional giveaways in order to create buzz, reward your audience, and attract new followers and customers. Learn more
Design Patterns in Ruby
This item: Design Patterns in Ruby
Price: $56.99 $43.67
Ships from and sold by