Home > Store

Practical Object-Oriented Design: An Agile Primer Using Ruby, Rough Cuts, 2nd Edition

Rough Cuts

  • Available to Safari Subscribers
  • About Rough Cuts
  • Rough Cuts are manuscripts that are developed but not yet published, available through Safari. Rough Cuts provide you access to the very latest information on a given topic and offer you the opportunity to interact with the author to influence the final publication.

Not for Sale

Also available in other formats.

Description

  • Copyright 2019
  • Dimensions: 7" x 9-1/8"
  • Edition: 2nd
  • Rough Cuts
  • ISBN-10: 0-13-444556-2
  • ISBN-13: 978-0-13-444556-4

This is the Rough Cut version of the printed book.


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 repair existing applications 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 Web site, poodr.com. Fully updated for Ruby 2.5, this guide shows how to:

  • 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
  • Design cost-effective tests
  • Solve common problems associated with poorly designed object-oriented code

Whatever your previous object-oriented experience, this concise guide will help you achieve the superior outcomes you’re looking for.

Sample Content

Table of Contents

Foreword

Introduction


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

Afterword


Index

Updates

Submit Errata

More Information