Traditional Design Patterns

Q1: Would having multiple patterns for the same problem be possible?

Q2: if it is true, what are the adverse complications?

[2] Same Problem, but Multiple Patterns!: The Common Problem of Duplication [1, 2]

[2] Same Problem, but Multiple Patterns!: The Common Problem of Duplication —

Professor Dr. M.E. Fayad, SJSU, AITG, AEEH PRESS, i-SOLE, INCs

 

In trying to make something new, half the undertaking lies in discovering whether it can be done.

Once it has been established that it can be done, duplication is inevitable. Helen Gahagan [3]

With the tremendous growth of the patterns community, it becomes fairly natural to find similar patterns that attempt to address almost the same problem. The nature and format of the design, as the solution space, makes it perfectly acceptable for developers to find different patterns, which provide dissimilar approaches to solve the same problem. However, it is not quite normal in analysis, as the problem space, to find multiple analysis models, which analyze the similar problem, which result in patterns that are remarkably different in their structure and architecture.
For instance, now consider the Account pattern. There is more than one pattern that models this Account problem; yet they are all, quite different (see Figures 1 and 2). This suggests that something is wrong with these models, as patterns. Perhaps, they have many redundant objects that have nothing to do with the underlying problem; therefore, the absence of these objects from other models, still allow them to work properly.
If all of these different models have worked properly in real-life projects, the use of analysis patterns becomes much more complex. Unlike designs, there is no basis for which these models are validated or endorsed. The only way that a developer can choose the right analysis pattern is to critically analyze the problem, and check which pattern makes the most sense for the given application. Consequently, the advantage of reusing analysis patterns simply vanishes.

The unsavory situation of having many different patterns (either analysis or design) for the same problem will always generate a number of other complications, when adopting patterns in practice. One of these several complications is the difficulty of developing the patterns vocabulary, either in the analysis or design spheres. With the tremendous increase in the number of patterns that essentially do the same thing, the pattern names can no longer serve as the common vocabulary, as they did a few years ago. We will discuss this problem in a lengthy detail at a later stage (see pitfall 10). In addition, the problem of ways to figure out, which pattern is the right pattern (in the case of analysis) or the appropriate pattern (in the case of design) is still a major problem to solve (see pitfall 4).

References

[1] M.E. Fayad. Stable Design Patterns (SDPs) (BASE)” Aeeh Press, Inc, San Jose, CA. December 2024

[2] M. E. Fayad. “Stable Design Patterns for Software and Systems” Boca Raton, FL: Auerbach Publications, Taylor & Francis Catalog #: K24656, September 2017. ISBN-13: 978-1-4987-0330-7

[3] Helen Gahagan Douglas (November 25, 1900 – June 28, 1980) was an American actress and politician. She was the third woman and first Democratic woman elected to Congress from California, Wiki

[4] [Figure [1]] M. Fowler. Analysis Patterns: Reusable Object Models, Addison-Wesley, 1997.

[5] [Figure [2]] Fernandez, E., and Liu, Y. The Account Analysis Pattern, Proceeding of the 7th European Conference on Pattern Languages of Programs, EuroPloPP02.