Os design patterns foram descritos em 1994 por um grupo de pesquisadores bem conhecidos, que ficou conhecido como Gang of Four (GoF)

  • Erich Gamma
  • John Vlissides
  • Ralph Johnson
  • Richard Helm

Foi a primeira vez que o conceito de “pattern” foi usado para descrever e codificar o conhecimento em desenvolvimento de software.

Foram descritos 23 “patterns”, que foram classificados em três grupos, de acordo com o propósito:

  • Patterns Criacionais
  • Patters Estruturais
  • Patterns Comportamentais

Os patterns também são classificados de acordo com o escopo (classe ou objeto):

  • Patterns com escopo na classe são criados usando mecanismos estáticos e de tempo de compilação, como a herança.
  • Patterns com escopo no objeto dependem de mecanismos dinâmicos e de tempo de execução.