spacer

20 books overall; 0 books read in the last year; 0 books read in the last month. That's an average of 0 books each month.

← Back to library

Design patterns : Elements of reusable object-oriented software

By Erich Gamma

Design patterns : Elements of reusable object-oriented software

You can view this book's Amazon detail page here.

Buy from Amazon.co.uk.

Tags:

Started reading:
9th December 2006
Finished reading:
17th January 2007

Review

Rating: 8

Many of the patterns in this book were already familiar to me, at least in terms of implementation I’ve been using them for years, I just didn’t have a common name to use in discussions with other developers. Implementation details would need to be described to get the idea which aside from been time consuming, is also open to mis-interpretation. It’s so much simpler to say, “use the strategy pattern”. At least it will be as more and more developers become accustomed to design patterns via either this book or the web.

The book is broken into four sections, the first deals with a “big picture” view where a case study is presented to demonstrate the use of a number of design patterns. The later three sections each cover a group of design patterns:

  • Creational Patterns
  • Structural Patterns
  • Behavioural Patterns

Each pattern is described methodically starting with a description as to what the pattern actually does, what problem is it there to solve. A simple scenario is presented to illustrate usage of the design pattern followed by guidelines to help identify situations where the pattern is most suitable for use.

The rest of the pattern description is concerned with the mechanics of the pattern, its structure, how objects in the pattern interact and any consequences usage of the pattern may have. Ending with snippets of C++ and smalltalk code the implementation of the pattern is really hammered home.

I quite liked this structure to the book, it made reading cover to cover a possibility whilst still working well as a reference book allowing you to dip in and read about an unknown pattern, refresh your memory and lookup related patterns.

If you’re not already familiar with all the patterns in the book, then it’s certainly worth adding to your bookshelf. Whilst reading the book I’ve already noticed many of the patterns already used in software I’ve been working with. It’s like buying a new car, the moment you get one, everyone else seems to have also gone out and bought the same type, when, in reality you’re just becoming more aware and on the lookout for that model.

One word of caution though, don’t blindly go out and apply as many patterns as you can to your software. Understanding when a pattern is worth applying to a design is a skill that will come with experience, although the book does provide guidance to help make the decision you have to be wary of over applying patterns when they’re not needed.

Although I wouldn’t say this book is required reading for everyone developing software, I’d certainly recommended it, especially if you’re new to OO programming.

Powered by Rob Miller's Now Reading plugin.
 
© 2005-2007 Gary Preston
Figment Games is hosted by DreamHost
Entries (RSS) and Comments (RSS).