Our Blog Excerpts Savings Contact


Dorset House Publishing
High-Quality Books on Software Engineering and Management.  Since 1984.
dorsethouse.com > titles


iDH Sign-Up

Get Our e-News
Delivered by FeedBurner

What Every Programmer Should Know About Object-Oriented Design

by Meilir Page-Jones
foreword by Larry L. Constantine

ISBN: 978-0-932633-31-6  
©1995  392 pages   hardcover
Now 50% off: $22.48 (plus shipping)

Subject(s): Object-Oriented Design

*For UPS Ground within U.S. only.
For more info., or for Int.'l or rush orders, click here.


Rate this

Object-Oriented Design Notation and
Techniques Made Accessible—
No Matter What Your Language

Winner of the Software Development Productivity Award

About the Book

With exceptional clarity, Page-Jones teaches the fundamentals of object-oriented design in a language-independent way. Techniques for designing and building with objects are illustrated with abundant examples, elaborated with do's and don'ts discussions, and reinforced with meaningful exercises and answers.

Revised for UML in a second edition—entitled Fundamentals of Object-Oriented Design in UML—this award-winning first edition remains one of the most understandable books on O.O. design.

Programmers, designers, and managers who want to learn object-oriented design without learning UML will especially find this book useful. The diagrams are presented in the author's OODN notation and the brief code examples are given in an easily recognizable hybrid of C++, Smalltalk, and Eiffel.

The chief concern of the text is design—not notation. "Some programmers don't think they're doing design when they program," the author comments, "but whenever you write code, you're always doing design. . . ."

If you haven't joined the UML bandwagon—or if you're ready to jump off!—explore this experienced teacher's lessons on object-oriented design with this highly acclaimed, readable text.

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

Author's Comments

"Some programmers don't think they're doing design when they program, but whenever you write code, you're always doing design, either explicitly or implicitly. One of the aims of this book is to make programmers explicitly aware of the design patterns that they're creating in their code."—MPJ, Dorset House Quarterly, Vol. V, No. 2


"A very valuable book as it concentrates on the design of object systems, and skips the breathless prose on how wonderful objects are. This is recommended for those about to enter the object world, or those who wonder why they did."

Atlantic Systems Guild

"This book is designed not only as an undergraduate textbook, but for practioners in the field who want to understand the concepts behind and the state of object-oriented languages and their use in the systems design process. The author provides a clear structure for work done in this area over the last few years. His prose is easy to read and his meaning sound, and he exhibits a sense of humor throughout the text that should keep even the most jaded student engaged.

". . . The author seems experienced not only in the use of but in the lucid explanation of object-oriented concepts. The examples and exercises round out the presentation, much more sharply focusing the fundamental principles of object-oriented design for the reader—especially for the beginner—than previous books on this subject."

 —E. A. Unger
Computing Reviews

"Regardless of your level of expertise, the principles will undoubtedly spark more than one discovery. They are Page-Jones's lasting contribution to our collective understanding of object orientation and software development in general.

". . . surprisingly simple, elegant, and revealing. . . . Rest assured that the book's explanations will make your job as a designer and programmer easier and more satisfying.

". . . useful tools and guidelines that you can apply to your next project. The greatest value of the book's definitions and discussions is that they give developers a tool for evaluating and improving their object-oriented designs and code.

"If you've read a publication about object-oriented programming and are confused and perplexed by its vague terms or lost in the maze of inconsistent vocabulary, I strongly recommend that you read What Every Programmer Should Know About Object-Oriented Design. . . . the book is a first-class, in-depth explanation of the key concepts. It's a fresh breeze across the object-oriented landscape."

 —Andrew J. Wozniewicz
Windows Tech Journal

"Meilir brings . . . clarity of thought to object-oriented design. . . . He explains what good object-oriented design looks like, why it's good, and when, if ever, it's OK to break the rules. He explains how to evaluate a design and gives us a common vocabulary to discuss such designs.

"The book is an excellent summary of the practical lessons we've learned in the last few years of using object orientation. I think it's going to be an important book: one that every serious programmer should read and think about."

 —Sue Petersen
Visual Developer

". . . I pay this book my highest possible honor. It will be the resource volume I use the next time I teach a course in OOD."

 —Charles Ashbacher
Charles Ashbacher Technologies
Mathematics and Computer Education

"Meilir's book illustrates exactly what the criteria are for good objects. It also reveals that the criteria are much more relevant than the coding language, diagramming techniques, or object methodology for determining system goodness and object success. This book is for beginners who just added the ++ to C. It's also a book for developers who are sure they have already figured out everything there is to know about objects."

 —Roland Racko
Software Development

"Beautifully written introduction to the fundamental ideas, notation, terminology, criteria, and principles of object-oriented design. Written for every programmer and, indeed, a must-read for every programmer involved with object-oriented programming. A classic programmer's text, delightfully brimming with clarity and elegance."

 —Carlene Char
Computer Book Review

"An explanation of just about everything in object-oriented design."

 —C.C. Dilloway
Computer Books Review

"Page-Jones appears to have applied the same successful formula to the needs of a new generation of programmers. His discussion of cohesion, transformed from the context of structured analysis models to the arena of objects, is in itself worth the price of the book. . . . Page-Jones succeeds admirably at getting essential concepts across."

 —Warren Keuffel
Software Development

"The author has succeeded in increasing my understanding and appreciation of good OOD principles. It is the first book that takes Bertrand Meyer's discussion of OOD principles and brings it to a higher level of understandability. . . . The strengths of the book are its thorough explanation of object orientation in Part I and its refinement of OOD principles in Part III. Every programmer interested in OOD should know what's in this book!"

 —Linas Raslavicius
Journal of Object-Oriented Programming

"His insightful prose gives good and bad examples that he dissects with a rigorous set of unambiguous criteria for quality. You'll close the book much wiser and more productive. Don't start your workstation without it."

 —Roland Racko
Software Development

". . . stands head and shoulders above current offerings on design of object-oriented software."

 —Bob Binder
Robert Binder Systems Consulting

". . . written for the working programmer/designer and it's not dumbed down for the dilettante. However, it should be accessible to anyone who has worked with OO in the past or who is willing to put some effort into understanding the future. . . .

"[Page-Jones] gives us a common vocabulary that we can use to discuss an OO design. Instead of overloading (and confusing) the old terms such as coupling and cohesion, Meilir has chosen to use new terms to go with this brave new world."

Sue Petersen
Visual Developer

Table of Contents

Dorset House Catalog
This Book's Flyer

By this Author
Fundamentals of Object-Oriented Design in UML
Practical Project Management: Restoring Quality to DP Projects and Systems

Also Recommended

Handbook of Walkthroughs, Inspections, and Technical Reviews, by Daniel P. Freedman and Gerald M. Weinberg

The Psychology of Computer Programming: Silver Anniversary Edition, by Gerald M. Weinberg

Surviving the Top Ten Challenges of Software Testing: A People-Oriented Approach, by William E. Perry and Randall W. Rice

Software Construction by Object-Oriented Pictures: Specifying Reactive and Interactive Systems, by George W. Cherry

How to Order

To order this book by credit card directly from Dorset House in New York, please call (800) 342-6657 or (212) 620-4053, weekdays, 9am to 6pm. Alternatively, print out our Faxable Order Form and fax to (212) 727-1044.

To order this book from an online bookstore, please see above.

To purchase at a bookstore, contact our Recommended Booksellers to verify availability. Any store can order from Dorset House using the book's title and ISBN number. Also, bookstores can order our books through Baker & Taylor.

We'd like to make it easy for you to order, so please contact us at any time for help!

New:3143 Broadway, Suite 2B  New York, New York 10027  USA
1-800-DH-BOOKS or 212-620-4053, fax 212-727-1044
Copyright © 1996-2008 by Dorset House Publishing Co., Inc. All rights reserved.
Home | Blog | Savings | Stores | Features | Titles | Authors | Subjects | Orders | About | Contact | Legal