Russ Olsen is the author of Design Patterns in Ruby.
People will sometimes ask you to choose your favorite design pattern. My favorite design pattern is not actually listed in the book. It is, instead, the careful, pragmatic approach to software engineering that runs throughout the book:
What are the problems of building good code?
What tools do we have to solve these problems?
How do I avoid reinventing the wheel?
Over the years the idea of design patterns has gone through an extreme version of the software engineering hype cycle: From "Gee, this is an interesting concept" to "It will save the world!" to "It's a waste of time." Fortunately, the core idea of Design Patterns—the idea that we need to step back every now and then and look at how we are building code—has survived the hype cycle. That central idea remains as true today as it did in 1994.