Rating:  Summary: The First Book on Java Design Review: That's how the authors refer to this book on the back cover... and it shows. After reading the first painfully practical chapter I found myself craving for the detailed, theoretical narratives of "Design Patterns".
Don't get me wrong. I bought this book looking for examples and found them. But I was hoping for gems of wisdom and got a text book.
Although, this book's saving grace is its examples. I find my self picking it up every few weeks seeing more and more of the experience the authors have packed in.
I expect we'll see more mature Java OO books from these authors and others very soon. Wait for them.
Rating:  Summary: The most difficult-to-read Java book I've seen so far Review: The premise of this book is excellent, but the execution leaves quite a bit to be desired. Coad's style is choppy and disjointed and I found it extremely difficult to read. I know of one other person who had such a hard time with the book that he gave up after 10 pages. I didn't make it much farther. You're better off with Bruce Ecker's "Thinking in Java" (available free online at www.eckelobjects.com/eckel) and a good OOD book such as Bertrand Meyer's "Object-Oriented Software Construction" or Scott Ambler's more accessible "The Object Primer"
Rating:  Summary: Excellent - every Java programmer should have this. Review: A solid, practical exposition of how to do OO in Java. Very easy to read. Contains clear and simple rules for applying the author's expertise.
Given the release of JDK1.1 and inner classes it would be fascinating to see work from the author on the use of inner classes.
Rating:  Summary: How to USE Java for good design Review: To be a good Java programmer, you need to be a good object oriented programmer. And you need to understand the way the building materials of a language like Java shape application design. Peter Coad does. He's an object-oriented programming guru, whose firm, Object International (www.oi.com), has been engaged in many o-o projects in many industries. He brings a wealth of experience to an analysis of Java from a software designer's standpoint. He knows how messy, brittle, and ugly design starts, and he shows us how to use Java to nip it in the bud. He identifies some basic patterns that maximize clean, flexible, reusable design. He stresses the use of composition over inheritance. Coad is not big on inheritance: he's seen it misused a lot, and he sets forth clear and limiting criteria for its use. He shows good Java-based ways to compose objects with other objects, preserving encapsulation and expanding flexibility. He also shows intelligent strategies for using interfaces. In my own current Java projects, Coad's book made a lot of design issues clearer. It's sent me back to the drawing board, but with a much more well-rounded design sensibility.
This is an excellent book for a beginning object-oriented programmer, starting out with Java. It makes clear the appropriate use of interfaces, and points out the pitfalls of multiple inheritance and a number of other practices. His book comes with a CD-ROM of Playground, Coad's general o-o design tool. His Strategies and Patterns Handbook is also on the CD-ROM, with 177 strategies and 31 object model patterns in .hlp format.
This book is based on JDK 1.0.2. I'm curious about what his take will be on JDK 1.1, especially Java Beans. I think the observations in this book apply to 1.1, but might bear extension in that environment.
I strongly recommend this book. Anyone who has learned Java's basics, but wants to know how to put them together to do good design, should buy it.
Rating:  Summary: Good in Combination with other subjects Review: This book has a place in introducing KISS (Keep it simple stupid) OOD rules of thumb. It does a good job of presenting a formulaic and repeatable approach to avoiding serious design pitfalls, but does only a mediocre job of explaining what the real impact of what it terms "poor design" decisions to be (i.e. impact to flexibility, maintainability, extensibility, etc). If you're involved with distributed programming and are looking to develop your architecture and design skills as expressed in UML modeling and Java implementation, read this book as a companion to "The Art of Objects", "UML Components" and "Refactoring".
|