Objectives: Design Patterns

After completing this tutorial, you will be able to:
  1. Explain what a pattern is.
  2. Explain the origin of pattern usage.
  3. Utilize patterns in future programming projects.

Before starting this tutorial, you should:

  1. Have experience writing programs in a high level language, using multiple modules (4 or more is what I have in mind).
  2. Be familiar with C++. Although you can do without this knowledge, the examples will make much more sense.
  3. Basic familiarity with Booch or OMT class diagrams.
  4. You'll need some time. This isn't light reading!

Knowledge about the items above will yield a much greater and in-depth understanding of the concepts discussed in this tutorial, and the presentation. A reader without these skills can still benefit from the material here, and will at least walk away with knowledge about what a design pattern is all about.

The primary purpose of this presentation is to give the reader an introduction to the concept of design patterns in programming. After completing the tutorial you should be able to put to use the patterns that were discussed, and have the ability to go out and find new patterns in publications etc... What this tutorial is not trying to do is explaining in great detail each of the example patterns; this is done very will in the Gamma95 reference.

You may now move forward to the Overview.