In an interview in 2005, Erich Gamma explained:
I think patterns as a whole can help people learn object-oriented thinking: how you can leverage polymorphism, design for composition, delegation, balance responsibilities, and provide pluggable behavior. Patterns go beyond applying objects to some graphical shape example, with a shape class hierarchy and some polymorphic draw method. You really learn about polymorphism when you've understood the patterns. So patterns are good for learning OO and design in general.
Written
- Erich Gamma on Flexibility and Reuse
- Design Principles from Design Patterns
- Patterns and Practice
- Eclipse's Culture of Shipping
Audio
- Erich Gamma on Patterns, JUnit, Eclipse and Jazz (at Software Engineering Radio)
Video
- Keynote by Erich Gamma from QCon London 2008
- Interview with Erich Gamma from QCon London 2008