OF ALL THE PRINCIPLES OF PROGRAMMING, Don't Repeat Yourself (DRY) is perhaps one of the most fundamental.
Duplication Is Waste
"every piece of knowledge must have a single, unambiguous, authoritative representation within a system."
Repetition in Process Calls for Automation
a build process should be run as frequently as possible, ideally with every check-in.
an object has many possible variations in its behavior, these behaviors can be injected using the Strategy pattern rather than large if-then structures.
"software entities should be open for extension, but closed for modification,"
the DRY principle provides fundamental guidance to software developers and aids the creation of simpler, more maintainable, higher-quality applications.