Em geral, um padrão possui quatro elementos essenciais:
| O nome do padrão |
É uma referência que podemos utilizar para descrever um problema de projeto, suas soluções e consequências em uma ou duas palavras. O nome do padrão é algo essencial na documentação do projeto bem como na comunicação entre os participantes de um projeto, pois estabelece um significado único que define seus valores com seus respectivos limites e suas operações.
|
| O problema |
Descreve em que situação o padrão deve ser aplicado. Ele explica o problema em seu contexto. O problema deve abranger três dimensões essenciais.
|
| A solução |
Descreve os elementos que compõem o padrão, seus relacionamentos, suas responsabilidades e colaborações. A solução não descreve um projeto concreto ou uma implementação em particular porque um padrão é como um modelo a ser seguido cuja aplicação poderá ser feita em inúmeras situações. Portanto os elementos que compõem o padrão descrevem uma solução abstrata.
|
| As consequências |
Descrevem os resultados e análises das vantagens e desvantagens da aplicação do referido padrão.
|
Um padrão de projeto nomeia, abstrai e identifica os aspectos chave de uma estrutura de projeto de modo a torná-la útil, eficaz e eficiente. O padrão de projeto identifica as classes e instâncias participantes, seus papéis, colaborações e a distribuição de responsabilidades.
O problema deve abranger três dimensões essenciais:
a) claro e preciso, ou seja, todos os conceitos e termos diretamente ligados ao problema devem ser conhecidos e não podem gerar dúvidas.
b) empírico, ou seja, deve ser observável (uso de métodos e técnicas apropriados) na realidade.
c) delimitado, ou seja, ter seu escopo bem como suas fronteiras bem delimitadas.
Por exemplo, o problema pode descrever como representar algoritmos em classes/objetos, ou pode descrever estruturas de classe/objetos sintomáticos de um projeto inflexível.