O termo 'Design Patterns' vem de um arquiteto chamado Christopher Alexander que em 1977 escreveu o livro "A Pattern Language" sobre padrões que encontrava ao construir edifícios, casas e etc. Em resumo, design patterns tentam encontrar uma solução comum para um problema comum.
Erich Gamma, Richard Helm, Ralph Johnson e John Vlissides, também conhecidos como "a gangue dos quatro", pegaram o conceito de Alexander e transformaram em um livro de padrões comuns para desenvolvimento de software.
Esses são os principais padrões em Javascript:
Creational pattern é usado para criar novos objetos ou um grupod de objetos relacionados entre si.
Structural pattern é usado para definir a estrutura do objeto ou como podem se relacionar uns com os outros. É muito útil para estender funcionalidades e/ou simplificá-las.
- Command
- Mediator
- Observer
Behavioral pattern é usado para atribuir responsabilidades dos objetos e também especificam os padrões de comunicação entre os mesmos.
Existem muito mais tipos mas esses são os mais usados em javascript.