0% found this document useful (0 votes)
37 views

Design Pattern1 PDF

This document provides an introduction to design patterns. It explains that design patterns allow programs to share knowledge about their design by documenting common solutions to recurring problems. The origin of design patterns can be traced back to the 1970s with Christopher Alexander's work on architectural patterns. In 1995, the book Design Patterns: Elements of Reusable Object-Oriented Software by Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides popularized design patterns and provided examples of common patterns. When documenting a pattern, the general form includes the context, prerequisites, description, participants, and consequences of using the pattern.

Uploaded by

Srini B
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
37 views

Design Pattern1 PDF

This document provides an introduction to design patterns. It explains that design patterns allow programs to share knowledge about their design by documenting common solutions to recurring problems. The origin of design patterns can be traced back to the 1970s with Christopher Alexander's work on architectural patterns. In 1995, the book Design Patterns: Elements of Reusable Object-Oriented Software by Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides popularized design patterns and provided examples of common patterns. When documenting a pattern, the general form includes the context, prerequisites, description, participants, and consequences of using the pattern.

Uploaded by

Srini B
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 2

design pattern1

System Requirements: Design Patterns

No specific tools are needed to use ​Design Patterns​.


It would probably be appropriate to have a compiler for your object-oriented language of
choice. Typical examples are C++ and Smalltalk.
Language features such as ​polymorphism, inheritance, classes, and objects​ are often
refered to, directly or indirectly when patterns are discussed. It is therefore helpful to have
the features available in the target language.

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​.

History
The origin of design patterns lies in work done by an architect named ​Christopher Alexander
during the late 1970s. He began by writing two books, ​A Pattern Language​[Alex77] and ​A
Timeless Way of Building ​[Alex79] which, in addition to giving examples, described his
rationalle for documenting patterns.
The pattern movement became very quiet until 1987 when patterns appeared again at an
OOPSLA conference. Since then, many papers and presentations have appeared, authored
by people such as Grady Booch, Richard Helm, and Erich Gamma, and Kent Beck. From then
until 1995, many periodicals, featured articles directly or indirectly relating to patterns. In
1995, Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides published ​Design
Patterns: Elements of Reusable Object-Oriented Software​ [Gamma95], which has been
followed by more articles in trade journals, and an additional book by &ltTo be filled in
later&gt.

Patterns Defined
Patterns are devices that allow programs to share knowledge about their design. In our
daily programming, we encounter many problems that have occured, and will occur again.
The question we must ask ourself is how we are going to solve it ​this​ time. Documenting
patterns is one way that you can reuse and possibly share the infomation that you have
learned about how it is best to solve a specific program design problem.
Essay writting is usually done in a fairly well defined form, and so is documenting design
patterns. The general form for documenting patterns is to define items such as:
1. The motivation or context that this pattern applies to.
2. Prerequisites that should be satisfied before deciding to use a pattern.
3. A description of the program structure that the pattern will define.
4. A list of the participants needed to complete a pattern.
5. Consequences of using the pattern...both positive and negative.
6. Examples!

You might also like