Elementos essenciais de um Design Pattern
Um NomeDescreve o problema de projeto, suas soluções e consequências em poucas palavras
Permite projetar num nível mais alto de abstração
Permite falar com outros sobre soluções e documentar código, já que os nomes de padrões estão ficando padronizados"
Todo mundo" conhece os 23 padrões da GoF
É equivalente a padronizar "lista encadeada", "pilha", etc. no mundo das estruturas de dados
O Problema
Descreve quando aplicar o padrão
Descreve o problema e o contexto
Pode descrever problemas específicos de projeto
Exemplo: como representar algoritmos como objetos?
Pode descrever estruturas de objetos ou de classes que são sintomas de um projeto inflexível
Às vezes, o padrão lista condições que devem se aplicar para usar o padrão
A Solução
Descreve os elementos constituintes do projeto, seus relacionamentos, responsabilidades e colaborações
A solução não descreve um projeto ou implementação concretos porque um padrão é um gabarito de solução para várias situações
As Consequências
Os resultados e trade-offs da aplicação do padrão
Diz respeito a trade-offs de espaço, tempo, flexibilidade, extensibilidade, portabilidade
Fonte: http://www.dsc.ufcg.edu.br/~jacques/cursos/map/html/pat/elem.htm
Um padrão de projeto tem quatro elementos essenciais:
1. O NOME do padrão;
2. O PROBLEMA (situação na qual aplicar o padrão);
3. A SOLUÇÃO;
4. As CONSEGUÊNCIAS (os resultados e análises das vantagens e desvantagens da aplicação do padrão);
Padrões de Projeto: Soluções reutilizáveis de software orientado a objetos / Erich Gamma, Richard Helm, Ralph Johnson e John Vlissides
2017
Um padrão de projeto nomeia, identifica e abstrai os aspectos-chave de uma estrutura de projeto comum para torná-la útil para a criação de um projeto orientado a objetos reutilizável. Um padrão, em geral, possui quatro elementos essenciais; assinale-os.
a) Solução; aplicação; abstração; e, reutilização.
b) Problema; elementos; abstração; e, consequências.
c) Consequências; aplicação; reutilização; e, problema.
d) Nome do padrão; problema; solução; e, consequências.