DCSIMG

 Subscribe in a reader

Design Patterns - An overview - Guy kolbis
Thursday, December 13, 2007 7:52 PM kolbis

Design Patterns - An overview

This is the first post I intend on writing in regard to design patterns.

In each post I will write about a specific pattern, I will give a sample real world code to follow it and the "Why - When" to use it.

But first thing is first. Lets first understand what are those design patterns are.

Here is a definition I got from the web:

"Design patterns are recurring solutions to software design problems you find again and again in real-world application development"

There is a saying "you do not want to invent the wheel all over again". If you have something that has been checked and proven to work, use it!

The same thing goes here. Whenever you encounter a design issue, first check to see if there is a solution for it, if there is a solution than use it, else make a solution that can serve you in the future.

Each design pattern is target to answer a specific design issue. Once you understand what each design pattern does, you can use it as a design implementation.

The Gang of Four (GoF) patterns are generally considered the foundation for all other patterns.

The GoF Design patterns are divided into three categories:

  1. Creational.
  2. Structural.
  3. Behavioral.

In the Creational category you will find all the design patterns that deal with creating instances for example Singleton, Builder, Abstract Factory, Factory Method and Prototype.

In the Structural category you will find all the design patterns that combine a structure such as a tree structure or bridge. For example Adapter, Bridge, Composite, Decorator, Facade, Flywieght and Proxy.

In the Behavioral category you will find the design patterns that will help you with behavioral design issue, such as Command, Memento, State, Observer, Iterator, Visitor, Template Method, Interpreter, Strategy, Mediator and Chain Of Responsibility.

In the posts to follow, I will dive into the patterns.

תגים:,

תוכן התגובה

אין תגובות

שלח תגובה

(שדה חובה) 
(שדה חובה) 
(אופציונלי)
(שדה חובה) 

Enter the numbers above: