Metodologia
Padrões de Projeto, são combinações de classes e algoritmos associados que cumprem com propósitos comuns de projeto. São normalmente soluções consagradas que se baseiam nas estruturas da orientação a objetos em sua melhor forma.
Cada padrão descreve um problema no nosso ambiente e o cerne da sua solução, de tal forma que você possa usar essa solução mais de um milhão de vezes, sem nunca fazê-lo da mesma maneira.
São 4 os elementos importantes que definem um Padrão (Pattern), são eles:
Nome: A identificação do Pattern é importante pois ele torna-se membro do vocabulário do projetista e de seus colegas;
Problema: descreve quando aplicar o Pattern. Apresenta a classe de problemas em questão e seu contexto;
Solução: descreve os elementos que fazem parte do design, seus relacionamentos, responsabilidades e colaborações;
Consequuências: os resultados e efeitos causados pela aplicação do pattern.
Gang of Four (GoF)
Passa a ter um vocabulário comum para conversar sobre projetos de software. Soluções que não tinham nome passam a ter nome. Ao invés de discutirmos um sistema em termos de pilhas, filas, árvores, passamos a falar de coisas de muito mais alto nível como Fábricas, Fachadas, Observador, Estratégia, etc. A maioria dos autores eram entusiastas de
Smalltalk, principalmente o Ralph Johnson. Mas acabaram baseando o livro em C++ para que o impacto junto à comunidade de C fosse maior. E o impacto foi enorme, o livro vendeu centenas de milhares de cópias.
Tipos de Padrões de Projeto
Categorias de Padrões do GoF
- Padrões de Criação
- Padrões Estruturais
- Padrões Comportamentais
O Formato dos padrões no GoF
Nome:
- Um bom nome é essencial para que o padrão caia na boca do povo.
Objetivo / Intenção
Motivação:
- Um cenário mostrando o problema e a necessidade da solução.
Aplicabilidade:
- Como reconhecer as situações nas quais o padrão é aplicável.
Estrutura:
- Uma representação gráfica da estrutura