Free Trial

Safari Books Online is a digital library providing on-demand subscription access to thousands of learning resources.

Overview

Upon completion of an object-oriented design, you are faced with a troubling question: "Is it good, bad, or somewhere in between?" Seasoned experts often answer this question by subjecting the design to a subconscious list of guidelines based on their years of experience. Experienced developer Arthur J. Riel has captured this elusive, subconscious list, and in doing so, has provided a set of metrics that help determine the quality of object-oriented models.

Object-Oriented Design Heuristics offers insight into object-oriented design improvement. The more than sixty guidelines presented in this book are language-independent and allow you to rate the integrity of a software design. The heuristics are not written as hard and fast rules; they are meant to serve as warning mechanisms which allow the flexibility of ignoring the heuristic as necessary. This tutorial-based approach, born out of the author's extensive experience developing software, teaching thousands of students, and critiquing designs in a variety of domains, allows you to apply the guidelines in a personalized manner.

The heuristics cover important topics ranging from classes and objects (with emphasis on their relationships including association, uses, containment, and both single and multiple inheritance) to physical object-oriented design. You will gain an understanding of the synergy that exists between design heuristics and the popular concept of design patterns; heuristics can highlight a problem in one facet of a design while patterns can provide the solution.

Programmers of all levels will find value in this book. The newcomer will discover a fast track to understanding the concepts of object-oriented programming. At the same time, experienced programmers seeking to strengthen their object-oriented development efforts will appreciate the insightful analysis. In short, with Object-Oriented Design Heuristics as your guide, you have the tools to become a better software developer.

020163385XB04062001

Subscriber Reviews

Average Rating: 4 out of 5 rating Based on 2 Ratings

"Learn the heart of object-oriented design" - by Christopher on 21-FEB-2011
Reviewer Rating: 1 star rating2 star rating3 star rating4 star rating5 star rating
This book is one of the best books on object-oriented design (OOD) I've ever read.  Unlike the unparalleled GoF Design Patterns book (another great book) which tackles broad, reusable object patterns, this book looks at what I call the "heart of OOD".  Rather than just covering the general "what is OOD and how can you use it", this delves deep into how to think in an object-oriented manner and how to make those difficult design decisions.

It achieves this by teaching you the rules (the heuristics) that you can practically apply every day to guide your OOD decisions.  Until I read this book, all I understood were the general principles any book will teach you.  This one taught me to how to think deeply and to properly leverage the power of OOD.

Btw, though the book is based on C++, it is still worth reading if you are doing Java or C# development.  The principles apply in any language.  The multiple inheritance chapter is even worth reading in case you apply pseudo-multiple-inheritance using forwarding techniques, as well as to remind you of the challenges that motivated its removal from Java and C#.

Report as Inappropriate

Table of Contents