Skip to content

Latest commit

 

History

History
32 lines (16 loc) · 4.69 KB

patternity.md

File metadata and controls

32 lines (16 loc) · 4.69 KB

Teste de "padrão", Padrões-protótipos (proto-padrões) e a Regra de três

Lembre-se que nem todos os algoritmos, melhores práticas ou soluções, representa o que é considerado como padrão completo. Pode haver alguns elementos-chave aqui que estejam faltando e a comunidade dos padrões geralmente desconfia de algo que afirma ser um, a menos que tenha sido fortemente examinado. Mesmo que algo seja apresentado e que pareça satisfazer os critérios de um padrão, não deve ser considerado até que tenha sido submetido a períodos adequados de testes e exames cuidadosos.

Relembrando o trabalho de Alexander mais uma vez, ele afirma que um padrão deve ser um processo e uma "coisa". Essa afirmação é confusa no seu propósito, já que ele segue dizendo que é o processo que deve criar a "coisa". Esta é uma razão pela qual os padrões geralmente se concentram em abordar uma estrutura visualmente identificável, ou seja, devemos ser capazes de representar (ou desenhar) visualmente uma figura representando a estrutura que resulta na colocação do padrão em prática.

Ao estudar padrões de projeto, não é irregular encontrar o termo "proto-padrão". O que é isso? Bem, um padrão que ainda não foi reconhecido para passar nos testes de "padrão", geralmente é chamado de "proto-padrão". Os proto-padrões podem vir do trabalho de alguém que achou uma solução específica e que é digna de ser compartilhada com a comunidade, mas que ainda não teve a oportunidade de ser testada cuidadosamente por ter pouco tempo de uso.

Como alternativa, o indivíduo que compartilha o padrão pode não ter o tempo ou o interesse de passar pelo teste de "padrão" e pode, em vez disso, lançar uma breve descrição de seu proto-padrão. Descrições breves ou trechos desse tipo de padrão são conhecidos como patlets.

O trabalho que envolve a documentação completa de um padrão qualificado pode ser bastante assustador. Fazendo uma retrospectiva de alguns dos primeiros trabalhos no campo de padrões de design, um padrão pode ser considerado "bom" se fizer o seguinte:

  • Resolver um problema particular: Os padrões não devem apenas capturar princípios ou estratégias. Eles precisam capturar soluções. Esse é um dos ingredientes mais essenciais para um bom padrão.

  • A solução para o problema não pode ser obvia: Podemos descobrir que as técnicas de resolução de problemas muitas vezes tentam derivar dos primeiros princípios mais conhecidos. Os melhores padrões de design geralmente fornecem soluções para os problemas indiretamente - isso é considerado uma abordagem necessária para os problemas mais desafiadores relacionados ao design.

  • A ideia descrita tem que ser provada: Padrões de projeto necessitam de provas de que funcionam como descrito pois, sem essa prova, o padrão não pode ser levado a sério. Se um padrão é altamente especulativo por natureza, somente os corajosos podem tentar usá-lo.

  • Deve descrever a relação: em alguns casos, pode parecer que um padrão descreve um tipo de módulo. Embora uma implementação possa parecer assim, a descrição oficial do padrão deve descrever estruturas e mecanismos de sistemas muito mais profundos e que expliquem sua relação com o código.

Seríamos perdoados em pensar que não vale a pena aprender um proto-padrão que não atenda às indicações, mas isso está longe de ser verdade. Muitos proto-padrões são realmente bons. Eu não estou dizendo que todos os proto-padrões valem a pena olhar, mas por aí existem alguns que são utilizáveis e que poderiam nos ajudar em futuros projetos. Use o melhor julgamento com a lista acima em mente e você estará bem em seu processo de seleção.

Um dos requisitos adicionais para um padrão ser válido é que eles exibem algum fenômeno frequente. Isso geralmente é algo que pode ser qualificado em pelo menos três áreas principais, referidas como a regra de três. Para mostrar a frequência usando esta regra, é preciso demonstrar:

  1. Capacidade de propósito - como o padrão é considerado bem-sucedido?

  2. Utilidade - por que o padrão é considerado bem-sucedido?

  3. Aplicabilidade - o design é digno de ser um padrão por que tem aplicabilidade mais ampla? Se for assim, isso precisa ser explicado. Ao revisar ou definir um padrão, é importante manter o que está acima em mente.

A Estrutura de um Padrão de Projeto »