Object Oriented Design & Patterns is an expensivee ~400 page book written by Cay Horstmann. Usually, the price would have made me move to the next title but I had to read it for a class that I am taking. The book covers, as the title indicates, application design and patterns. The approach is very practical and the book is loaded with examples.
The book had the feel of an exercise book. An exhaustive series of exercises are proposed at the end of each chapter. I won’t comment on the exercises because I simply skipped them all. They are probably useful for those who need to verify if they understood the concepts but I’m just not patient enough to do so.
I was expecting a highly theoretical book with concepts floating above earth. The cover of the book, with all the clouds, sure influenced the image. In fact, the book is example driven and contains a lot of source code. Java is used for all examples, but there are a few references to other languages for comparison. The very first chapter, which I skipped, is a Java crash course. In my opinion, the section should have been replaced with a reference to the Java Tutorial written by Sun, which is a much better (and a free) introduction rather then wasting 30 pages.
The book follows a regular pattern: example design problem, concrete example, theoretical example, code sample, summary. Most of the time, a reference to the usage of the pattern in the Java API is made to show some “real world” examples. A nice aspect of the book is that there are multiple UML diagrams to represent the patterns being used. I personally just hate reading code so a diagram helps avoid it. The explanations are usually clear and can be understood without having to read the page over and over again.
A few general application development and methodology tips are given in the process. Combined with the multiple links and references, Objected Oriented Design & Patterns is a good starting point for those who have been programming for a while but want to improve their conception skills and be able to place names to patterns. The price tag is a little high for what it really contains. Half the book will probably only place names on things you have been doing forever. However, the emphasis placed on conception gives a whole new look to application development.
Thanks to John Jonathan Kopanas for the corrections.