Practical Object-Oriented Design: An Agile Primer Using Ruby, 2nd edition

  • Sandi Metz

Practical Object-Oriented Design: An Agile Primer Using Ruby

ISBN-13:  9780134456478

Add to cart form
Free delivery
Free delivery

What's included

  • Paperback

    You'll get a bound printed text.


The Complete Guide to Writing Maintainable, Manageable, Pleasing, and Powerful Object-Oriented Applications


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. Each technique is illustrated with extended examples in the easy-to-understand Ruby programming language, all downloadable from the companion website, 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

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

Register your book for convenient access to downloads, updates, and/or corrections as they become available. See inside book for details.

Table of contents

  • 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

For teachers

All the material you need to teach your courses.

Discover teaching material

Published by Addison-Wesley Professional (August 22nd 2018) - Copyright © 2019