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"?


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


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 :)


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.


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
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.