It's harder to write code that can be parameterized by data than it is to write straight procedural code. And after all YouArentGonnaNeedIt. '''Therefore,''' Force all programmers to keep all persistent state in a NonPermutationDependent format a.k.a XML. Force all classes to become purely reflective through the RestArchitecturalStyle. Define straight procedural code as a CodeSmell. ---- From the tone, it is not clear whether this is intended to describe a pattern or an anti-pattern. Is this about parameterization, about XML, or about procedural code? Exactly what is being recommended or derided here? ''Yes, and what's the big deal with PermutationDependent data? Is that really the same thing as non-parameterizability?'' In a way, yes, but first you have to understand that DataAndCodeAreTheSameThing. ''OK, I understand that DataAndCodeAreTheSameThing. Now that I've completed the first step, would you please give step two (and preferably, the remaining steps as well)? Can you provide an example demonstrating how NonPermutationDependent persistence formats coupled with purely-reflective classes in the RestArchitecturalStyle is better than whatever it is that you don't like--so much so that it is worth forcing all programmers to do it this way?'' ---- CategoryDesignIssues