Practical Object-Oriented Design, 2nd Edition
An Agile Primer Using Ruby
Object-oriented programming languages exist to help you create beautiful, straightforward applications that are easy to change and simple to extend. Unfortunately, the world is awash with object-oriented (OO) applications that are difficult to understand and expensive to change. Practical Object-Oriented Design, Second Edition, immerses you in an OO mindset and teaches you powerful, real-world, object-oriented design techniques with simple and practical examples.
Sandi Metz demonstrates how to build new applications that can "survive success" and repair existing applications that have become impossible to change.
Decide what belongs in a single 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.
Share Practical Object-Oriented Design, 2nd Edition