O que são classificados como DRY, KISS, SOLID etc.?

58

Algo como DRY é um padrão de design, uma metodologia ou algo intermediário? Eles não têm implementações específicas que poderiam ser demonstradas, necessariamente (mesmo que você possa demonstrar facilmente um caso que NÃO esteja usando algo como o KISS ... consulte The Daily WTF para uma infinidade de exemplos), nem explicam completamente um processo de desenvolvimento como uma metodologia geralmente faria. Onde isso deixa esses tipos de "regra de ouro"?

Morgan Herlocker
fonte
20
BEIJO sólidos secos ... eu não sei se isso faz design de software mais atraente, ou menos ...
FrustratedWithFormsDesigner
11
Acrônimos? (Ri, em execução, e mergulhando.)
Warren P
2
@Warren P: Isso se torna GRAD ... Hmmm ...
FrustratedWithFormsDesigner
11
um beijo seco e sólido é definitivamente melhor do que um
choro
Palavras-chave de marketing entregues.
Emilio Garavaglia

Respostas:

98

Segundo a Wikipedia , é um princípio de desenvolvimento de software.

De fato, a Wikipedia se refere a todos eles como princípios:

SECO :

Na engenharia de software, não se repita (DRY) ou Duplication is Evil (DIE) é um princípio do desenvolvimento de software

BEIJO :

KISS é um acrônimo para o princípio de design "Seja simples, estúpido!".

SÓLIDO :

Os princípios, quando aplicados em conjunto, pretendem aumentar a probabilidade de um programador criar um sistema fácil de manter e estender ao longo do tempo

JD Isaacks
fonte
Existe algum bom tutorial com exemplos que ajuda a entender sobre como aplicar esses padrões ...
Krunal
2
Os padrões de design são diferentes. Como a resposta indica, esses são princípios que devem guiá-lo no seu design e desenvolvimento cotidiano. Para exemplos e tutoriais, existem muitos na web. Aqui está um exemplo: blog.gauffin.org/2012/05/11/…
Jonn
11
Outro oposto de DRY é "MOLHADO": escreva tudo duas vezes.
Dr. Rob Lang
17

Eu diria que eles são princípios básicos de engenharia .

Uma metodologia pode ter n princípios.

E eles definitivamente não são padrões de design :)

Demian Brecht
fonte
6

Estas são as diretrizes para o seu trabalho diário, cruzando os limites de camadas, domínios de problemas e tecnologias.

Eles também formam o que você chamaria de filosofia que define sua prática profissional.


fonte
E eles não precisam se aplicar apenas ao desenvolvimento de software - bem, o SOLID realmente se aplica apenas ao desenvolvimento de software, mas os outros dois são muito gerais e podem ser aplicados independentemente de qualquer setor específico!
FrustratedWithFormsDesigner