September 4, 2005

Refocussing on Design Patterns

A couple of factors at work recently have led me to refocus my thoughts on Design Patterns.

Firstly, a Java course I was teaching the week before last included a brief topic introducing Design Patterns and Refactoring. Even though it only included enough detail to give the students an awareness, I was left with a desire to improve my own ability to apply design patterns and refactoring when I'm coding.

Secondly, the codebase that I'm contributing to in a J2EE project has reached an interesting stage. It is in production and would appear to be meeting the customer requirements pretty well. However, without going into details here, it could clearly do with some judicious refactoring.

Personally I think I have a reasonable understanding of the essence of design patterns and refactoring. It is the practice of applying them that I know I can improve. In this quest I have access to the two original books, Design Patterns: Elements of Reusable Object-Oriented Software (the GoF book) and Refactoring: Improving the Design of Existing Code.

There are a couple of other books I have my eye on:

  • Head First Design Patterns by Elisabeth Freeman, Eric Freeman, Bert Bates and Kathy Sierra. Despite Charles' observation about the cover, I like the approach the authors take and reckon their book would complement the GoF book well.
  • Refactoring to Patterns by Joshua Kerievsky. Whilst I haven't actually had the chance to browse through this book it would appear to do a good job of offering guidance to maintenance programmers faced with the challenge of improving code quality.
Of course, books can only go so far in assisting the learning process. Practical experience cements knowledge. So I'll be looking for opportunities to appropriately refactor to design patterns.

And in doing so I'll try to remember Erich Gamma's advice on how to use design patterns.

Posted to Software Development by Keith Pitty
Comments

After read DesignPattern more than 8 times, I found it's easy to read , easy to understand, but not easy to apply, for most of programmers.

However, If understand it thoroughly, it really help to improve the software quality.

I use DP in my group(totally 23 members in my team), I like it very much, it save the time of Design Review.

Thanks for GoF.

Posted by: pastware at September 10, 2005 12:43 AM
Post a comment









Remember personal info?