Há algum tempo, o grande Akita blogou sobre o termo “Padrões de Projeto” e como esse termo leva a uma confusão de conceitos.
Essa confusão acontece porque as palavras “Padrão” e “Projeto” tem vários significados na língua portuguesa.
“Padrão” pode significar duas coisas:
- norma – conjunto de regras de execução. Por exemplo, o padrão brasileiro de tomadas, definido pela ABNT. É o sentido mais comum em português.
- molde – conjunto de características que identificam algo. Por exemplo, os padrões quadriculados de clãs escoceses (e das suas saias). É o sentido mais comum em inglês.
“Projeto” também pode significar duas coisas:
- plano – esquema detalhado de realização de um empreendimento. Algo que os gerentes de projeto tentam fazer.
- modelagem – ato de projetar, de delinear algo intelectualmente, geralmente acomodando-o a um molde. Algo que paisagistas, urbanistas e designer gráficos fazem.
Os design patterns do mundo do software, cuja ideia originou-se da arquitetura de prédios, são uma coleção de soluções comuns para problemas recorrentes. Não são normas de planos, nem moldes de planos. Também não são normas de modelagem.
Excelente discussão, com várias nuances, nesse tweet do Plínio Balduino: