Programming Books C Java PHP Python Learn more Browse Programming Books
Qty:1
  • List Price: $44.95
  • Save: $4.49 (10%)
Only 1 left in stock (more on the way).
Ships from and sold by Amazon.com.
Gift-wrap available.
What Every Programmer Sho... has been added to your Cart
FREE Shipping on orders over $35.
Used: Very Good | Details
Sold by HerkulesExpress
Condition: Used: Very Good
Comment: Slightly used book in very good condition with clean pages and tight binding! Eligible for FREE Super Saving Shipping! Fast Amazon shipping plus a hassle free return policy mean your satisfaction is 100% guaranteed!
Have one to sell? Sell on Amazon
Flip to back Flip to front
Listen Playing... Paused   You're listening to a sample of the Audible audio edition.
Learn more
See this image

What Every Programmer Should Know About Object-Oriented Design Hardcover – August 1, 1996


See all 2 formats and editions Hide other formats and editions
Amazon Price New from Used from
Hardcover
"Please retry"
$40.46
$8.67 $0.01
Amazon%20Web%20Services

$40.46 FREE Shipping. Only 1 left in stock (more on the way). Ships from and sold by Amazon.com. Gift-wrap available.


Frequently Bought Together

What Every Programmer Should Know About Object-Oriented Design + Fundamentals of Object-Oriented Design in UML
Price for both: $73.61

Buy the selected items together

NO_CONTENT_IN_FEATURE

Shop the new tech.book(store)
New! Introducing the tech.book(store), a hub for Software Developers and Architects, Networking Administrators, TPMs, and other technology professionals to find highly-rated and highly-relevant career resources. Shop books on programming and big data, or read this week's blog posts by authors and thought-leaders in the tech industry. > Shop now

Product Details

  • Hardcover: 392 pages
  • Publisher: Dorset House (August 1996)
  • Language: English
  • ISBN-10: 0932633315
  • ISBN-13: 978-0932633316
  • Product Dimensions: 7.5 x 10.5 inches
  • Shipping Weight: 1.9 pounds (View shipping rates and policies)
  • Average Customer Review: 4.1 out of 5 stars  See all reviews (7 customer reviews)
  • Amazon Best Sellers Rank: #965,704 in Books (See Top 100 in Books)

Editorial Reviews

Review

"An explanation of just about everything in object-oriented design." -- C.C. Dilloway, Computer Books Review

More About the Author

Discover books, learn about writers, read author blogs, and more.

Customer Reviews

4.1 out of 5 stars
Share your thoughts with other customers

Most Helpful Customer Reviews

7 of 7 people found the following review helpful By Matthew D. Groves on March 11, 2010
Format: Hardcover
If you are already familiar with OO programming, you can safely skip the first part. The second part is about an obsolete modeling language, so you can also skip it. The third part of this book is absolutely incredible, and a highly recommended read for any developer. (See also: [...])
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
9 of 10 people found the following review helpful By A Customer on April 1, 1997
Format: Hardcover
This book covers the basics concepts of object-oriented design before moving into the more advanced areas of design
principles, which is where it excels and is extremely valuable. It also contains an object-oriented design notation, although we have plenty of those, these days. I covet mine, as it is the best text on oo-anything I've seen yet. An absolute must-read for anyone doing any work with object-oriented concepts.
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
Format: Hardcover
I read this book when it first came out and at the time, considered it the best book on the theory of object-oriented programming ever written. While the contents are now somewhat dated, it is still an excellent reference. One of the most impressive aspects of the book is the coverage of the term "connascence." The following is the definition as it appears on page 183.

Connascence between two software components A and B means either

1. that you can postulate some change to A that would require B to be changed (or at least carefully checked) in order to preserve overall correctness, or

2. that you can postulate some change that would require both A and B to be changed together in order to preserve overall correctness.

The reason why I consider this so critical is because so many errors in software are due to improperly managed or understood linkages between components. They are often the most difficult bugs to find, because the components can work correctly as stand-alone code, but fail when interacting.
Therefore, even though this book was published over a decade ago, it still contains one of the best explanations of the principles of object-oriented programming ever written.
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
4 of 5 people found the following review helpful By wiredweird HALL OF FAMETOP 500 REVIEWER on March 8, 2004
Format: Hardcover Verified Purchase
There is a lot of good in this book. It offers a wide variety of basic design principles important to OO design: the Law of Demeter, a form of Liskov's Substitutability, stability of interfaces and behavior, and a fair discussion of coherence within a class and coupling between classes. It approaches Design by Contract and formal verification, without getting close enough to scare a beginner. It's first appendix anticipates Beck's "funny smells" and patterns for refactoring. It really does have large amounts of practical advice.
I truly wish I could recommend this book, but I can't. Its notation and vocabulary get in the way of its many messages. Every book has some boxes-and-arrows notation, and UML has become the accepted standard. This book predates UML, and offers one of the most ornate menus of different boxes I've seen. (The word "menu" comes to mind because so many of the diagrams look distractingly like a Big Mac to me.)
Page-Jones also edged into neologism, creating vocabularies for ideas that already had an established terminology. I know that, strictly speaking, he did not invent "connascence" or most of its friends (contranascence, disnascence, ...). Still, he seemed to cut the words out of their original context and wedge them, uncomfortably, into usages distant from their accepted meaning. That far a stretch is about the same thing as making the word up from scratch. It may be OK for advanced mathematical usages; a book for mainstream readers should stick to the main stream of common terms.
The technical advice in this book deserves much better than three stars. Its obsolescent notation and opaque vocabulary interfere with a modern reader's understanding, though. Beginners, the ones most likely to benefit from the advice, would have the hardest time with it. I like the book and will come back to it, but I can't recommend it.
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again

What Other Items Do Customers Buy After Viewing This Item?