Books to supplement the Odin Curriculum
08 Dec 2014Practical Object-Oriented Design in Ruby (POODR) by Sand Metz
I’ve seen this book recommended on numerous forums and blogs. It was written with the goal of being accessible to novices. Chapter by chapter, Sandi Metz takes you through designing an application of a Bicycle Touring Company. By the end of the book, you’ll have finished reading a story, not a reference book, that’ll provide a clear way of thinking about design.
Design Patterns in Ruby by Russ Olsen
Design patterns provide a vocabulary for articulating design decisions during development. Russ Olsen takes you through a number of the original Gang of Four patterns from a Ruby point of view. You’ll get a good introduction to all the well-knowns patterns such as the Template Method, Strategy, Observer, Factory, Adapter, and many more patterns that you’ll see when looking at source code for open-source projects.
How should novices read these books?
There are 3 ways:
-
Skim through the books, then move on to the next book or blog post. This manner of reading will give you inspiration.
-
Read it once. Apply it to a project. This will give you a taste of object-oriented design and other patterns.
-
Read it again, after you’ve worked on some small projects. It’ll have a different meaning, the second and third time around. It might even raise more questions than originally answered. When starting out, follow the design rules blindly. As the author of POODR mentioned, “By the time the rules start to chafe, you’ll have enough experience to make up rules of your own and your career as a designer will have begun.”