Chasing an Elusive Vocabulary: Importance of Vocabulary in Pattern Development

M.E. Fayad, Ph.D

One of the specific benefits of using patterns resides in developing a common vocabulary by which software and pattern developers, in any development phase, can easily communicate and discuss their project concepts. Such a common vocabulary simplifies the basic description of complex systems. One can discuss the system at a higher level of abstraction without getting into the details of each pattern.

However, no clear vocabulary currently exists that can allow pattern developers to enjoy these perceived benefits. The main challenge here is the fact that many current patterns try to address the same problem (refer to the discussion of the two problems in the pitfalls #2 & #3 [1]: “Multiple Patterns for the Same Problem,” and “Which Pattern Shall We Choose [2]”). Thus,

For instance, assume that someone has already developed a new pattern called Observer that does the same thing the Observer pattern as described by Gamma, et al, (popularly referred to as the “Gang of Four” or GOF) [3] does. Thus, referring to a pattern as Observer is confusing. The GOF Observer pattern needs thorough reference since there is no reason to assume the GOF pattern, by just stating the name Observer. In an analysis, the same problem still exists. The Account pattern discussed previously in the earlier issue must also to be qualified to communicate clearly, which Account pattern is used currently.

Choosing the name of the pattern is another immediate challenge that needs consideration. Most of the patterns existing today have some vague names (due to high levels of abstraction), and in most cases, understanding what this pattern does in practice, is not clear until the first few lines in its template have been read. The most useful pattern name provides some useful insight into the problem currently addressed by the pattern.

References:

1. M.E. Fayad and G. K. Srikanth, Pitfall #2 — Same Problem, but Multiple Patterns!: The Common Problem of Duplication, The Software Patterns Blog at pattern.ijop.org

2. M.E. Fayad and G. K. Srikanth, Pitfall #3 — Choosing the Right Pattern- Real Challenges, The Software Patterns Blog at pattern.ijop.org

3. Gamma, E. et al., “Design Patterns: Elements of Reusable Object-Oriented Software” Addison-Wesley Professional Computing Series. Addison-Wesley Publishing Company, New York, 1995.

Leave a Comment

Name: (Required)

E-mail: (Required)

Website:

Comment:

Spam Protection by WP-SpamFree