25-Jun-04 (Created: 25-Jun-04) | More in 'Software Architecture'

On naming a software pattern

A "pattern" in software refers to an approach, a method, a technique or a way to solve a software problem. Then why not call it one of those instead of calling it a pattern. When will a technique become a pattern? A "pattern" is a promotion of the above to a more formal level. First thing a pattern forces is to come up with a name. This name is intended to be fairly unique in the field so that it will uniquely identify the subject and its surrounding context. It is almost like you are submitting the "technique" to a library of techniques with a formalized name.

Like all names, a pattern's name should be as "specific" as possible. Invoking its name should bring the whole meaning and context of the pattern to surface. The name is not necessarily named after the patterns feature, usage, or implementation, or advantage. The only obligation of the name is that it should try to evoke this pattern as unequivocally as possible in a collection of similar features, usages, or implementations.