Monday, September 10, 2012

Design Patterns


What are Design Patterns?
Design Patterns are general and reusable templates or solutions to solve common problems. It is not an algorithm but a usual pattern which can be used to design a solution to the problem.

History
The term is taken from a book by Christopher Alexander – a regular "buildings" architect. 

In software development these ideas were initially published in the book - Design Patterns: Elements of Reusable Object-Oriented Software. The authors of the book - Erich Gamma, Richard Helm, Ralph Johnson and John Vlissides are together often called the Gang of Four (GoF).

Why do they matter?
Design patterns are well accepted solutions to existing software development problems and provide templates to define systems with good OO design qualities. The design patterns provide a common language between developers to explain complex scenarios.

Pattern Organization
Patterns are organized in an ever increasing list (as new patterns are discovered).
  1. Creational
    1.   Factory
    2. Builder
    3. Etc...
  2. Structural
    1. Decorator
    2. Etc.
  3. Behavioral
  4. Security
  5. Etc.
Further reading: Design Patterns

No comments:

Post a Comment