Friday, August 5, 2005

A Conversation with Erich Gamma

  • In Part I, Gamma gives his opinion on the appropriate ways to think about and use design patterns, and describes the difference between patterns libraries, such as GoF, and an Alexandrian pattern language.

  • In Part II, Gamma discusses the importance of reusability, the risks of speculating, and the problem of frameworkitis.

  • In Part III, Gamma discusses two design principles highlighted in the GoF book: program to an interface, not an implementation, and favor object composition over class inheritance.

  • In Part IV, Gamma discusses how design patterns are problem solution pairs, how design patterns help you understand intent and tradeoffs, and how to become a better designer through practice.
Great series of articles about different aspects of object oriented programming. My favorite article is the one where Gamme dicusses Flexibility and Reuse, cause I think there are a lot of people out there using these terms without any idea what they mean, especially reusability. "We are using Java cause it fosters reusability of existing code!" - you hear that a lot, but unfortunately most of the time reusability is being neglected when developing software. And if there is reusability, then people are mostly using it the wrong way!

No comments: