Traditional Design Patterns

Most existing and traditional patterns are domain-specific, making them less reusable in other

domains and challenging to adapt. Would you agree?

[6] Focus! Focus! Focus! Golden Words for Developing Meaningful Patterns [1, 2]

 

[6] Focus! Focus! Focus! Golden Words for Developing Meaningful Patterns

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

 

Focus on the journey, not the destination. Joy is found not in finishing an activity but in doing it. Greg Anderson [3]

 

If a developer wishes to develop meaningful patterns, he or she will need to identify the perimeter of the problems that these patterns model or solve. In many cases, it is quite difficult and cumbersome to identify the boundary of the problems. In absence of any clear and well-set boundaries for a particular pattern, it will ultimately embody and induce a host of other problems that will be simply out of the scope of the main problem. Consequently, developers end up building large patterns that model or solve a collection of different problems instead of developing patterns for specific problems. It is important to note that this problem dominates almost all existing analysis patterns, but rarely exists in current design patterns.

For instance, consider the Account analysis pattern shown, previously in Figure 2 (See Pitfall #2). This pattern presents a unique situation of modeling a problem related to accounting. Unfortunately, this pattern also includes different types of patterns that lie outside the domain of the problem, such as Institution and Institution branch. On the first glance, it looks as if they are valid classes, but they appear irreverent, when focused solely on the essential idea of an account. In general, more the problems a pattern considers, the less general will be the nature of the problem. Consequently, the issue of reusability will become limited and seriously undermined.

On the other hand, so many design patterns possess very well-defined boundaries, such as GoF patterns [4], where each pattern solves a specific and pre-defined problem, without considering the surrounding environment.

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] Greg Anderson (guitarist) (born 1970), member of many doom metal and stoner metal bands, including Sunn O))), Goatsnake, Lotus Eaters, Wiki

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