Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

Is something like DRY a design pattern, a methodology, or something in between? They do not have specific implementations that could neccessarily be demonstrated(even if you can easily demonstrate a case NOT using something like KISS... see The Daily WTF for a plethora of examples), nor do they fully explain a development process like a methodology generally would. Where does that leave these types of "rule of thumb"'s?

share|improve this question
7  
DRY SOLID KISS... I don't know if that makes software design more appealing, or less... –  FrustratedWithFormsDesigner May 2 '11 at 19:11
8  
Acronyms? (Grinning, running, and ducking.) –  Warren P May 2 '11 at 19:45
2  
@Warren P: That becomes GRAD... Hmmm... –  FrustratedWithFormsDesigner May 2 '11 at 20:09
    
a DRY & SOLID KISS is definitely better than a wet & weak slurp... –  Martin Feb 20 '13 at 9:23
add comment

3 Answers

up vote 32 down vote accepted

According to Wikipedia it is a principle of software development.

In fact, Wikipedia refers to all of them as principles:

DRY:

In software engineering, Don't Repeat Yourself (DRY) or Duplication is Evil (DIE) is a principle of software development

KISS:

KISS is an acronym for the design principle "Keep it simple, Stupid!".

SOLID:

The principles when applied together intends to make it more likely that a programmer will create a system that is easy to maintain and extend over time

share|improve this answer
    
Is there any good tutorial with examples that helps understand on how to apply these design patterns... –  Krunal Feb 14 at 13:54
add comment

I'd say that they're basic engineering principles.

A methodology can have n principles.

And they're definitely not design patterns :)

share|improve this answer
add comment

These are the guidelines for your everyday work, crossing the boundaries of layers, problem domains and technologies.

They also form what you would call a philosophy defining your professional practice.

share|improve this answer
    
And they need not apply just to software development - well ok, SOLID really only applies to software development but the other two are very general, and can be applied independent of any specific industry! –  FrustratedWithFormsDesigner May 2 '11 at 19:34
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.