Join Amazon Prime and ship Two-Day for free and Overnight for $3.99. Already a member? Sign in.
Design Patterns in Ruby and over 300,000 other books are available for Amazon Kindle – Amazon’s new wireless reading device. Learn more

 

or
Sign in to turn on 1-Click ordering.
 
 
More Buying Choices
47 used & new from $24.85

Have one to sell? Sell yours here
 
   
Design Patterns in Ruby (Addison-Wesley Professional Ruby Series)
 
 
Start reading Design Patterns in Ruby on your Kindle in under a minute.

Don’t have a Kindle? Get yours here.
 
  

Design Patterns in Ruby (Addison-Wesley Professional Ruby Series) (Hardcover)

by Russ Olsen (Author) "It's funny, but design patterns always remind me of a certain grocery store..." (more)
Key Phrases: template method, convention over configuration, creating custom objects, Getting Started, Picking the Right Class, Assembling Your System (more...)
4.7 out of 5 stars See all reviews (17 customer reviews)

List Price: $54.99
Price: $39.99 & this item ships for FREE with Super Saver Shipping. Details
You Save: $15.00 (27%)
o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o
In Stock.
Ships from and sold by Amazon.com. Gift-wrap available.

Only 4 left in stock--order soon (more on the way).

Want it delivered Monday, July 20? Choose One-Day Shipping at checkout. Details
32 new from $24.85 15 used from $27.50
Also Available in: List Price: Our Price: Other Offers:
Kindle Edition (Kindle Book) $31.99

Frequently Bought Together

Design Patterns in Ruby (Addison-Wesley Professional Ruby Series) + The Ruby Way, Second Edition: Solutions and Techniques in Ruby Programming (2nd Edition) (Addison-Wesley Professional Ruby Series) + The Rails Way (Addison-Wesley Professional Ruby Series)
Price For All Three: $106.12

Show availability and shipping details


Customers Who Bought This Item Also Bought

The Rails Way (Addison-Wesley Professional Ruby Series)

The Rails Way (Addison-Wesley Professional Ruby Series)

by Obie Fernandez
4.2 out of 5 stars (30)  $34.64
The Ruby Programming Language

The Ruby Programming Language

by David Flanagan
5.0 out of 5 stars (25)  $26.39
Advanced Rails Recipes

Advanced Rails Recipes

by Mike Clark
4.6 out of 5 stars (7)  $25.71
Advanced Rails

Advanced Rails

by Brad Ediger
4.7 out of 5 stars (9)  $23.09
Programming Ruby 1.9: The Pragmatic Programmers' Guide (Facets of Ruby)

Programming Ruby 1.9: The Pragmatic Programmers' Guide (Facets of Ruby)

by Dave Thomas
4.4 out of 5 stars (62)  $32.97
Explore similar items

Editorial Reviews

Product Description

Praise for Design Patterns in Ruby

"Design Patterns in Ruby documents 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 Ruby is 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 Ruby also 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 Ruby will 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 (http://www.russolsen.com).



See all Editorial Reviews

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: 9.3 x 7.1 x 0.9 inches
  • Shipping Weight: 1.6 pounds (View shipping rates and policies)
  • Average Customer Review: 4.7 out of 5 stars See all reviews (17 customer reviews)
  • Amazon.com Sales Rank: #282,722 in Books (See Bestsellers in Books)

Inside This Book (learn more)

What Do Customers Ultimately Buy After Viewing This Item?


Tags Customers Associate with This Product

 (What's this?)
Click on a tag to find related items, discussions, and people.
Check the boxes next to the tags you consider relevant or enter your own tags in the field below.
(14)
(8)

Your tags: Add your first tag
 
Help others find this product — tag it for Amazon search
No one has tagged this product for Amazon search yet. Why not be the first to suggest a search for which it should appear?

 

Customer Reviews

17 Reviews
5 star:
 (12)
4 star:
 (5)
3 star:    (0)
2 star:    (0)
1 star:    (0)
 
 
 
 
 
Average Customer Review
4.7 out of 5 stars (17 customer reviews)
 
 
 
 
Share your thoughts with other customers:
Most Helpful Customer Reviews

 
18 of 18 people found the following review helpful:
5.0 out of 5 stars One of the best Ruby books ever, February 7, 2008
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 Comment | Permalink | Was this review helpful to you? Yes No (Report this)



 
12 of 12 people found the following review helpful:
4.0 out of 5 stars Surprisingly Useful, January 13, 2008
By David Hume (Seattle) - See all my reviews
  
Design Patterns in Ruby delivers what the title suggests. It covers 14 of the patterns from the original 'gang of four' patterns book, and introduces 3 additional patterns that are in widespread use in the ruby world. The book is engagingly and clearly written. More importantly, it illustrates each pattern with an extended example, often showing alternative designs. Each chapter concludes with notes on how the pattern should and should not be used, and lists at least one example of the pattern in actual code.

I had low expectations for this book, but I was very pleasantly surprised. Like many programmers I tend to think of the gang-of-four patterns as being primarily useful in languages that are semantically limited, such as Java and C++. In dynamic languages like ruby and Scheme, design patterns seem to come more naturally, and are easily expressible in the language, and so tend to disappear. But Olsen convinced me that there really are non-trivial uses for most of the patterns that he covered.

In case you're wondering, the patterns are:

* Template
* Strategy
* Observer
* Composite
* Iterator
* Command
* Adapter
* Proxy
* Decorator
* Singleton
* Factory, Abstract Factory
* Builder
* Interpreter
* Domain Specific Language
* Meta-Programming
* Convention over Configuration
Comment Comment | Permalink | Was this review helpful to you? Yes No (Report this)



 
11 of 11 people found the following review helpful:
4.0 out of 5 stars Valuable Resource, January 13, 2008
By David L. Richards (Portland, OR USA) - See all my reviews
(REAL NAME)   
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. I would have enjoyed more chapters on other patterns, even some that are outside the scope of the GoF book. But that's just a reflection of my respect for Olsen's love of the material and skill in teaching it.

If you're picking up Ruby to write Rails code, maybe start with the Agile Development book. If you've finished your first personal Rails project, or you have other uses of Ruby in mind, I'd suggest this as the next book you pick up. After this book, I'd next suggest The Ruby Way by Hal Fulton. That's probably the fastest way to pick up Ruby in a professional context.
Comment Comment | Permalink | Was this review helpful to you? Yes No (Report this)


Share your thoughts with other customers: Create your own review
 
 
Ad
 
Most Recent Customer Reviews

5.0 out of 5 stars Concise explanation of design patterns, in Ruby.
If you have been programming for any extended period of time, I am sure you have started to see different patterns emerging out of your tasks. Read more
Published 3 months ago by Nate Klaiber

5.0 out of 5 stars An entertaining way to read about Ruby
This book is about using Ruby to implement most of the Design Patterns described in the GoF book ([... Read more
Published 6 months ago by Alessio Marchetti

5.0 out of 5 stars Excellent introduction to Ruby for existing programmers
If you're already a programmer, this book an excellent way to learn Ruby. It shows how to apply a variety of common and largely language-independent programming structures... Read more
Published 11 months ago by D. Brent Chapman

5.0 out of 5 stars Advanced Ruby programming styles and idioms
This is a marvelous book, ideal if you're an experienced object-oriented programmer who wants to learn to use Ruby with the idioms particular to it, and not remain frozen in the... Read more
Published 11 months ago by Adam Wasserman

5.0 out of 5 stars Design Patterns make sense with this book in Ruby
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... Read more
Published 11 months ago by Craig Maloney

5.0 out of 5 stars Best Design Book I've Read Yet
By far the most accessible design book I have read. The author not only explains the pattern and the reasons for its use, he then goes on to show a traditional implementation of... Read more
Published 11 months ago by William Klar

5.0 out of 5 stars Engaging and Educational
I am a Java developer whose Ruby experience is limited to firing up the interactive Ruby shell for a Hello World, or reading the first chapters of Programming Ruby before drifting... Read more
Published 13 months ago by Brian Uri

5.0 out of 5 stars Really Enjoyed This Book
Not sure how to start, so I'll just write what I'm thinking: What a well-written book!

After some general programming/patterns advice, Russ launches into the... Read more
Published 13 months ago by Larry

5.0 out of 5 stars Excellent book to read and learn about ruby
I have been playing with ruby and rails for one year now. This book put together all the things I've learned so far into design patterns. Read more
Published 15 months ago by Bagath S. Pugazhendhi

4.0 out of 5 stars Very helpful, particularly for newcomers to ruby
For many the idea of bringing design patterns to ruby is a terrifying one. Having taken refuge from over-engineered java projects (or for that matter, attempts to apply java... Read more
Published 15 months ago by James Stewart

Only search this product's reviews



Customer Discussions

 Beta (What's this?)
New! See all customer communities, and bookmark your communities to keep track of them.
This product's forum (0 discussions)
  Discussion Replies Latest Post
  No discussions yet

Ask questions, Share opinions, Gain insight
Start a new discussion
Topic:
First post:
Prompts for sign-in
  [Cancel]


Active discussions in related forums
   


Product Information from the Amapedia Community

Beta (What's this?)



Look for Similar Items by Category


Plumbing Products in the Value Center

Home Improvement Value Center Plumbing Products
Turn it on for less with spectacular deals on brand-name faucets, showerheads, and more in the Home Improvement Value Center.

Shop the Value Center

 

Big Savings in Books

Bargain Books
Find great titles at fantastic prices in our Bargain Books Store.
 

Buy Three Books, Get a Fourth Free

4-for-3 Books
Order any four eligible books under $10 and get the lowest-price book free in our 4-for-3 Books Store. See more details.
 

Best Books

Best of the Month
See our editors' picks and more of the best new books on our Best of the Month page.
 
Ad

 

Feedback

If you need help or have a question for Customer Service, contact us.
 Would you like to update product info or give feedback on images?
Is there any other feedback you would like to provide?

Your comments can help make our site better for everyone.


Where's My Stuff?

Shipping & Returns

Need Help?

Your Recent History

  (What's this?)
You have no recently viewed items or searches.

After viewing product detail pages or search results, look here to find an easy way to navigate back to pages you are interested in.

Look to the right column to find helpful suggestions for your shopping session.

Continue shopping: Top Sellers
Free
Free by Chris Anderson
Paranoia
Paranoia by Joseph Finder
My Soul to Lose
My Soul to Lose by Rachel Vincent
Glenn Beck's Common Sense

Conditions of Use | Privacy Notice © 1996-2009, Amazon.com, Inc. or its affiliates