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?
-
22DRY SOLID KISS... I don't know if that makes software design more appealing, or less...– FrustratedWithFormsDesignerCommented May 2, 2011 at 19:11
-
13Acronyms? (Grinning, running, and ducking.)– Warren PCommented May 2, 2011 at 19:45
-
2@Warren P: That becomes GRAD... Hmmm...– FrustratedWithFormsDesignerCommented May 2, 2011 at 20:09
-
1a DRY & SOLID KISS is definitely better than a wet & weak slurp...– JustAMartinCommented Feb 20, 2013 at 9:23
-
Marketing delivered buzzwords.– Emilio GaravagliaCommented Sep 21, 2016 at 21:21
3 Answers
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!".
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
-
1Is there any good tutorial with examples that helps understand on how to apply these design patterns...– KrunalCommented Feb 14, 2014 at 13:54
-
2Design patterns are different. As the answer states, these are principles which should guide you in your day to day design and development. For examples and tutorials there are many in the web. Here is one such: blog.gauffin.org/2012/05/11/…– JonnCommented Oct 16, 2015 at 7:55
-
2Another opposite of DRY is "WET": write everything twice. Commented Aug 30, 2018 at 14:04
-
I'd say that they're basic engineering principles.
A methodology can have n principles.
And they're definitely not design patterns :)
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.
-
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! Commented May 2, 2011 at 19:34