Object-Oriented Design Heuristics (paperback), 1st edition
Unfortunately, this item is not available in your country.
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.
Table of contents
1. The Motivation for Object-Oriented Programming.
2. Classes and Objects: The Building Blocks of the Object-Oriented Paradigm.
3. Topologies of Action-Oriented Versus Object-Oriented Applications.
4. The Relationships Between Classes and Objects.
5. The Inheritance Relationship.
6. Multiple Inheritance.
7. The Association Relationship.
8. Class-Specific Data and Behavior.
9. Physical Object-Oriented Design.
10. The Relationship Between Heuristics and Patterns.
11. The Use of Heuristics in Object-Oriented Design.
A. Heuristics Summary.
B. Memory Leakage in C++.
C. Selected C++ Examples.
Published by Addison-Wesley Professional (April 30th 1996) - Copyright © 1996