Via PHP Everywhere, Artima.com: Put Abstractions in Code, Details in Metadata, part four of an interview with Andy Hunt and Dave Thomas.
Abstractions live longer than details. Details are volatile. Because details are going to change, put the details where changing them will create the least amount of friction. Typically that's outside the code base -- in a database, a properties file, or XML -- something acting as metadata. We suggest an overall architecture where you put your energy into creating the right abstractions in the code. And as much as possible, push the details out somewhere else where they are easier to change, because that is what's going to change.
Feel free to post a comment below. Please see my comment policy.
Formatting Rules (No HTML):