Jump to ratings and reviews
Rate this book

What Every Programmer Should Know About Object-Oriented Design

Rate this book
If you're a programmer using C++, Smalltalk, or Eiffel, or if you're about to migrate to object orientation for the first time, you need to know the most important principles of object-oriented design. For In a reliable design, why must a variable's cone of polymorphism lie within that of a method. Is connascence good or bad? How could the inherited methods of a superclass violate the invariant of a subclass -- and how can this be prevented? Page-Jones answers these questions and more, with characteristic clarity, demystifying the fundamentals of object orientation in a language-independent way. He provides a comprehensive notation for object-oriented design that allows you to depict the design for a whole system or to jot down back-of-the-envelope ideas.         features 150+ diagrams and exercises   Topics Include
* Encapsulation
* Information Hiding
* State Retention
* Object Identity
* Synchronous and Asynchronous Messages
* Classes and Subclasses
* Inheritance
* Polymorphism
* Genericity
* Reusability
* The Object-Communication Diagram
* States and Transitions
* Connascence
* Class Domains
* Encumbrance
* State Space and Behavior
* Class Cohesion
* Guide to Object-Oriented Terminology
* Object-Orientation in a Historical Context From the Foreword ". . . vintage Page-Jones. . . . Meilir is a gifted teacher. . . . a relentlessly pragmatic focus based on real-world experience . . . compact examples to guide the developer, whether novice or old hand, toward better object-oriented software solutions. . . . Who could ask for more?"               -- Larry L. Constantine

392 pages, Hardcover

First published August 1, 1996

5 people are currently reading
139 people want to read

About the author

Meilir Page-Jones

10 books4 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
6 (42%)
4 stars
6 (42%)
3 stars
1 (7%)
2 stars
1 (7%)
1 star
0 (0%)
Displaying 1 - 3 of 3 reviews
Profile Image for Uli Kunkel.
22 reviews6 followers
October 9, 2019
Magnificent guide to any level developer. Doesn't matter if you have one month or twenty years development experience in any language. This book alwyas has something to add yo your skills and your eevryday writing style. Just read it, you won't lose.
149 reviews
July 14, 2019
Section 3 "The principles of object-oriented design" are still very relevant - especially chapter 8 on Encapsulation and Connasence, Chapter 9 Domains, Encumberance, and Cohesion and Chapter 11 The Perils of Inheritance and Polymorphism
Profile Image for Ivan Soto.
93 reviews1 follower
September 29, 2011
If you want an academic understanding of object-oriented design, this book will give it to you. For in-depth understanding of object oriented design you still have to start fully mastering the object-oriented aspects of a programming language such as Java or C++. When I read the book, the unified modeling language was not yet in existence, so the book's take on OO diagrams was helpful. Most of the material has not been outdated by later developments, so in that sense it's fairly strong.
Displaying 1 - 3 of 3 reviews

Can't find what you're looking for?

Get help and learn more about the design.