What tests do you, personally, use to determine if something is a pattern?
Since reading and digesting DaveHarris's insights about quality on QualityVsPrescriptionRules, I have been experimenting with taking literally the definition that a pattern is a "recurring best practice". In other words, a pattern has been used by several people to maximize (or minimize) something. So my "patternity" questions are something like:
By this definition, a single workable solution to a problem in a context is not a pattern, because is does not maximize anything. There must be several possible workable solutions in order to have a maximizing (best) one.
Also by this definition, several people have to use the pattern. I don't understand this requirement as well, but I think it shows that both the "problem" is common, and the value of the "quality/qualities" being maximized is shared and accepted. If you understand a solution I use, but don't use it yourself, you either don't have the same problem, or you don't value things the same as I do. -- StanSilver
I like to say that a pattern is a "recurring theme" instead. Best Practice seems to limit it to a practice of something. If you ask yourself what's present when you experience something that meets the PatternityTests outlined above, you are trying to find a name for the themes that make it that way. Alexander can walk up to a train station that seems to have QualityWithoutaName and make an attempt at discovering present themes that make it that way.
In a pattern language I'm helping develop, my focus on naming and delivering the essence of patterns is based on a similar process ... I'm attempting to walk up to solutions that exhibit QualityWithoutaName and discover present themes that make them that way. -- PhilipEskelin
I'm not sure it helps to ask "What is being maximized?" I see a pattern as a dynamic balance between opposing forces. So yes, if you change it you will make it worse, but if you change it this way, this thing will get worse and if you change it that way, that other thing will get worse. It isn't the same thing made worse each time. So we're not maximizing either of those things, but some rather abstract composite. I don't know that it helps to know what that is. -- DaveHarris
(PS Most of the insights on that page are anonymous, and I didn't write them.)