num_pages: 392
description: 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
language: English
title: What Every Programmer Should Know About Object-Oriented Design
publisher: Dorset House