Design Patterns

Thursday, May 04, 2006

Thursday, 4th May 2006

The Introduction to Design Patterns -14/02/06

The first lecture looked at the defination of patterns origns and also the benefits of using the patterns.

Software design has evolved over the years. In the '60's design was entity oriented, while in the '80's it was object oriented and of late there is wide use of pattern oriented design.

In my own understanding, Design Patterns refers to being able to use a design solution to a recurring problem in a given context.

The first man to come up with a catalogue for patterns, Christopher Alexander describes patterns as "Each pattern describes a problem which occurs over and over again in our environment and then describes the core use this solution a million times over , without doing it the same way twice" [1]

Design Patterns should have a specific structure that qualifies it to be a design pattern, and the following i learned are the core issues to be included for a design pattern, which even help build up a pattern catalog.
  • Problem
  • solution
  • consequences(good or bad)
  • name of pattern
  • Examples
  • Known uses and
  • Related patterns [2]

When is a design pattern considedred not a design Pattern?

Design Patterns are not untested theories, solutions that have only worked only once, are applicable to every context ans when it answers to every software problem.

Benefits of using design patterns

the benefits that were outlined about using design patterns were as follows;

  • Reduce need for re-design
  • provide reusable component
  • solves specific problems
  • Acts as a template
  • knowledge base for a novice programmer(pas knowledge)
  • Reduce maintenance costs
  • improves quality because of thorough testing in a variety of situations.[3]

Group Dyanamics

After the morning session, we were divided into groups of 6 and each group was given a topic to research on the difference between patterns and;

  • business objects
  • frameworks
  • algorithms
  • components
  • libraries
  • packages

My group was tasked to research on Patterns Vs Packages

This first lecture was an eye opener for me into the world of design patterns.

References

[1]Christopher Alexander, Patterns Language, 1977

[2]Gamma, E, Helm, R, Johnson, Vlissides, J (1994),Design Patterns, Elements of Reusable Object oriented Software

[3]Design Patterns:

http://www.cs.purdue.edu/homes/jv/510s05/patterns.pdf, pg 2.

accessed;17/02/06



1 Comments:

  • At 9:49 AM, Blogger Pauls Matuta said…

    Well, it seem ok. Check you spelling mistakes. I have observed that you have only talked about advantages. Do you mean to say that patterns do not have disadvantages? Think about it....

     

Post a Comment

<< Home