Practical Object-Oriented Design Object-oriented programming is
like a comfortable old hat. Classes, inheritance, polymorphism –
I learned all that 20 years ago – with C++. What more is there
to know about OO? As it turns out, quite a lot. Practical
Object-Oriented Design in Ruby is a must read for any Rubyist.
My copy is full of highlights, but I'll focus on a few take
aways. Who hasn't experienced the big “monolihtic” app? A
seemingly small change causes ripples throughout the code base.
The tests are broken more often than they are helpful. We tell
the customer that “it wasn't designed to support that.”
Productivity and moral are down. What's the solution? In
software, change is inevitable. We can't predict how it will
change, but we know it will. What if we could arrange our code
to be more amenable to change? That would be worth learning.
“Design is more the art of preserving changeability than it is
the act of achieving perfection.” Sandi Metz sets us out on a
journey towards changeability. She guides u