Jump to ratings and reviews
Rate this book

Object-Oriented Design Heuristics

Rate this book
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.

379 pages, Hardcover

First published April 30, 1996

20 people are currently reading
372 people want to read

About the author

Arthur J. Riel

2 books2 followers

Ratings & Reviews

What do you think?
Rate this book

Friends & Following

Create a free account to discover what your friends think of this book!

Community Reviews

5 stars
38 (38%)
4 stars
41 (41%)
3 stars
15 (15%)
2 stars
3 (3%)
1 star
1 (1%)
Displaying 1 - 4 of 4 reviews
Profile Image for Dmytro Khmara.
4 reviews
April 12, 2019
This book is a masterpiece. Buy it and read it - it will make you a better programmer.

There are several Object-oriented concepts every programmer is familiar with. But is adhering to these concepts enough for writing reusable and maintainable code? How to identify that a class does too much or too little? How to distribute system intelligence? Is knowing how to inherit one class from another always reduces code duplication and makes these classes easier to work with? Or maybe composition is always preferable?

This book answers a lot of such questions by providing 60 practical guidelines on how to design classes and interactions between them. It also discusses cases where these guidelines contradict each other and gives practical advice on how to decide which approach to choose and why.

This book will be helpful for an experienced programmer, less so for a novice.

However, there are three things that might discourage an unknowing person from buying the book: it was published in 1996, the code examples are written in C++ and it is only available in paperback (or at least I was able to find only a printed version). One should nevertheless try to get their hands on it - the amount of wisdom it contains is enormous.
Profile Image for André.
118 reviews43 followers
September 26, 2017
ETWA 60 ENTWURFSEMPFEHLUNGEN

... und Indikatoren für schlechtes OO-Design. Bebildert m.E. vieles, was Robert C. Martin positiv als »design principles« zusammenschrieb. Beispielsweise verweist Riels Negativindikator »Gottklasse« auf Martins »single responsibility principle« und so weiter. Alle Quelltextbeispiele sind in C++ verfasst.
12 reviews
April 26, 2017
Quite good, mostly for the bullet points summarized in each section.
Displaying 1 - 4 of 4 reviews

Can't find what you're looking for?

Get help and learn more about the design.