BOOK REVIEW: Object Oriented Design & Patterns

Object Oriented Design & Patterns is an expensive ~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.

Rating: 8/10

Has anyone else read the book? If so, what are your impressions of the book?

written by: Louis-Philippe Huberdeau

Related Links:


Help Support Us By Visiting Our Sponsor

10% of our revenue from these ads go towards scholarships!


Comments

October 8, 2004 11:04 PM | Luke Masters commented:

…tant un des Ètudiants qui s’est vu forcÈ d’acheter ce livre, je ne partage pas, tout a fait, le mÍme avis. J’ose mÍme avancer que ce livre n’est pas ‡ la hauteur de son prix et je cherche encore ‡ comprendre pourquoi le professeur responsable de mon cours force aux Ètudiants cette perte d’argent. Pour le mÍme prix, un Ètudiant peu s’acheter une copie de ´ Deitel & Deitel Java Comment Programmerª qui selon moi est non seulement mieux pour apprendre le Java, mais contient beaucoup plus d’informations autant sur les concepts de programmations que sur le design d’une application (UML, etc.).

J’ai beaucoup de misËre avec le livre ´ Object Oriented Design & Patternsª parce qu’il y a beaucoup de ´ chialage ª sur Java. Je trouve aussi que l’auteur ne rÈussit pas ‡ susciter mon intÈrÍt. Les exemples sont, selon moi, beaucoup trop prÈcis et trËs peu polyvalents. Le manque de clartÈ de certains paragraphes ainsi que le manque de cohÈsion rendent le livre pÈnible ‡ lire. Beaucoup d’Ètudiants qui n’ont jamais fait de Java ont de la misËre ‡ suivre le livre et je peux facilement comprendre pourquoi. En rÈsumÈ voyant la quantitÈ d’information disponible GRATUITEMENT sur internet, sur la P.O.O. et les Design Patterns, je comprends mal le prix exorbitant d’un livre d’une qualitÈ douteuse.

October 9, 2004 04:56 AM | Louis-Philippe Huberdeau commented:

J’ai moi aussi ÈtÈ un peu troublÈ par le chialage contre Java au dÈbut. Par contre, les critiques sont gÈnÈralement fondÈs. Il est vrai que l’API n’est pas parfait, il y a des raisons historiques pour l’expliquer. Il est bien de montrer que les erreurs surviennent aussi dans les applications rÈelles et que mÍme les symboles de vÈritÈ comme Java peuvent Ítre ÈrronÈs.

Un des buts des programmes de gÈnie est de dÈvelopper un esprit critique et dans ce sens, ce livre couvre trËs bien cet aspect.

Le dÈveloppement logiciel n’est pas une science absolue et se base trop souvent sur l’opinion du dÈveloppeur. Une grande part de l’aspect design est due ‡ de la subjectivitÈ. Contrairement ‡ d’autres disciplines, il n’y a pas de formules miracle. Peut-Ítre que dans quelques annÈes cette faÁon de concevoir les logiciels ne fera aucun sens. Il est mÍme fort probable que notre gÈnÈration de dÈveloppeur arrive ‡ unifier les mÈthodes de dÈveloppement. Ce n’est pas sans poser un regard critique et constructif que quelque chose va se rÈaliser.

Le prix du livre est ÈlevÈ, il n’y a aucun doute, mais en fesant abstraction de cet ÈlÈment, il s’agit quand mÍme d’un bon livre.

October 10, 2004 04:55 PM | Anonymous commented:

I guess we just found a bug!!!

October 10, 2004 11:34 PM | Louis-Philippe Huberdeau commented:

The web server throws UTF-8 as file encoding while the blog application saved the data in ISO-8859-1 and expose the HTML meta-data as ISO-8859-1. This explains why all the accentuated characters are messed up. Last time I checked this page, the problem wasn’t present, so a configuration has been modified on the way.

The solution is either to change the default encoding in Apache configuration, use utf8_encode() before output for every text data or change the exposed encoding in the HTTP headers using header( “Content-Type: text/html; charset=iso-8859-1” );

UTF-8 is great, but the transition to it is hard. At least, once it will become the standard, there won’t be any encoding problems remaining.


Post Your Comments





(note: not displayed)


(note: displayed with comment)

CUSEC 2005

CUSEC is the Canadian Undergraduate Software Engineering Conference created to promote software engineering in canada at the undergraduate level. CUSEC 2005 is being held this year in Ottawa, Canada.

http://2005.cusec.ca

Monthly Newsletter

Sign-up to our monthly newsletter so you can keep up with the latest articles on software engineering and our conference (CUSEC).

sign-up now