Free Trial

Safari Books Online is a digital library providing on-demand subscription access to thousands of learning resources.


The Complete Guide to Writing More Maintainable, Manageable, Pleasing, and Powerful Ruby Applications

Ruby’s widely admired ease of use has a downside: Too many Ruby and Rails applications have been created without concern for their long-term maintenance or evolution. The Web is awash in Ruby code that is now virtually impossible to change or extend. This text helps you solve that problem by using powerful real-world object-oriented design techniques, which it thoroughly explains using simple and practical Ruby examples.

Sandi Metz has distilled a lifetime of conversations and presentations about object-oriented design into a set of Ruby-focused practices for crafting manageable, extensible, and pleasing code. She shows you how to build new applications that can survive success and repair existing applications that have become impossible to change. Each technique is illustrated with extended examples, all downloadable from the companion Web site,

The first title to focus squarely on object-oriented Ruby application design, Practical Object-Oriented Design in Ruby will guide you to superior outcomes, whatever your previous Ruby experience. Novice Ruby programmers will find specific rules to live by; intermediate Ruby programmers will find valuable principles they can flexibly interpret and apply; and advanced Ruby programmers will find a common language they can use to lead development and guide their colleagues.

This guide will help you

  • Understand how object-oriented programming can help you craft Ruby code that is easier to maintain and upgrade

  • Decide what belongs in a single Ruby class

  • Avoid entangling objects that should be kept separate

  • Define flexible interfaces among objects

  • Reduce programming overhead costs with duck typing

  • Successfully apply inheritance

  • Build objects via composition

  • Design cost-effective tests

  • Solve common problems associated with poorly designed Ruby code

Subscriber Reviews

Average Rating: 5 out of 5 rating Based on 10 Ratings

"Practical Object-Oriented Design in Ruby: An Agile" - by Bhuvan on 09-SEP-2013
Reviewer Rating: 1 star rating2 star rating3 star rating4 star rating5 star rating
Report as Inappropriate

"Eye opening design patterns" - by mlpinit on 11-JUN-2013
Reviewer Rating: 1 star rating2 star rating3 star rating4 star rating5 star rating
This book offered great insights into practical object-oriented design principles. The analogies were very descriptive and helped me immediately make improvements in my code. Thank you!
Report as Inappropriate

"Fantastic, practical advice" - by mattdb on 30-MAY-2013
Reviewer Rating: 1 star rating2 star rating3 star rating4 star rating5 star rating
Once you've discovered how "fat models" quickly become unsustainable over time, it's time for some POODR-ing.

Really should be required reading for anyone writing Ruby code of any size.

Report as Inappropriate

Table of Contents