This eBook includes the following formats, accessible from your Account page after purchase:
EPUB The open industry format known for its reflowable content and usability on supported mobile devices.
MOBI The eBook format compatible with the Amazon Kindle and Amazon Kindle applications.
PDF The popular standard, used most often with the free Adobe® Reader® software.
This eBook requires no passwords or activation to read. We customize your eBook by discreetly watermarking it with your name, making it uniquely yours.
Also available in other formats.
Register your product to gain access to bonus material or receive a coupon.
The Complete Guide to Writing Maintainable, Manageable, Pleasing, and Powerful Object-Oriented Applications
Object-oriented programming languages have a point of view about how best to model the world. They 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. Even though they’re written in OO languages, these applications fail to achieve the promise of OO because their code doesn’t reflect the right mindset. The purpose of Practical Object-Oriented Design, Second Edition, is to solve that problem by immersing you in an OO mindset. It teaches powerful, real-world, object-oriented design techniques using simple and practical examples. It will change the way you think about code.
Sandi Metz has distilled a lifetime of conversations and presentations about object-oriented design into a proven set of OO practices for crafting manageable, extensible, and pleasing code. She demonstrates how to build new applications that can “survive success” and how to repair those that have become impossible to change. Each technique is illustrated with extended examples in the easy-to-understand Ruby programming language, all downloadable from the companion website, poodr.com. Fully updated for Ruby 2.5, this guide shows how to:
Whatever your previous object-oriented experience, this concise guide will help you achieve the superior outcomes you’re looking for.
About the Author
Chapter 1: Object-Oriented Design
Chapter 2: Designing Classes with a Single Responsibility
Chapter 3: Managing Dependencies
Chapter 4: Creating Flexible Interfaces
Chapter 5: Reducing Costs with Duck Typing
Chapter 6: Acquiring Behavior Through Inheritance
Chapter 7: Sharing Role Behavior with Modules
Chapter 8: Combining Objects with Composition
Chapter 9: Designing Cost-Effective Tests