Abstract

Since the introduction of design patterns, a large number of patterns have been identified and documented. As a result, patterns in the literature relate one another in different ways. Unfortunately, most of these patterns are not properly organized. In applying these patterns in to problems at hand novice designers encounter many difficulties such as identification and selection of collectively applicable set of patterns that suits the problem at hand. We investigate mathematical structures in existing pattern organization techniques such as pattern catalogues, pattern systems and pattern languages. Then we attempted to use these mathematical structures in developing a new organization technique. This paper proposes a new organization method and illustrates it with a collection of object oriented patterns drawn from the literature. Our investigation indicated that existing pattern organizations form graph structures and categorical structures. These structures are formed by patterns and relationships among them. The proposed organization method organizes patterns into sequences according to the relationships among patterns. This organization consists of two types of categories: major category and alternative category. The major categories are defined based on the Uses relationship and the alternative categories are defined based on the Variants, Refines and Conflicts relationships. Each major category consists of patterns that have potential to form a pattern system or a pattern language. So they assist practitioners in finding a sequence of related patterns that can be collectively applied to solve complex problems. Each alternative category consists of patterns that provide alternative solutions to the same problem or similar problems. It assists in finding a number of possible solutions (patterns) to a particular problem. The proposed organization combines these two types of categories by structuring them into pattern sequences. A pattern sequence consists of a major category and a collection of related alternative categories. Pattern sequences assist practitioners in finding a collectively applicable patterns and possible alternatives to them. So pattern sequences facilitate the selection of most appropriate sequences of patterns to solve complex problems without searching through the pattern literature. Key Words: Design Patterns; Pattern Catalogues; Pattern Systems; Pattern Languages; Pattern Sequences; Category Theory; GraphsDOI: 10.4038/josuk.v4i0.2697J Sci.Univ.Kelaniya 4 (2008): 46-67

Highlights

  • Work on software patterns started in late 1980s, it was not until the early 1990s that patterns began to attract more attention in software industries

  • In order to facilitate the understanding of mathematical structures first we provide the definitions of Graph theory and generalized algebra known as Category theory (Fokkingga, 1992; Michael, 1995; Pierce, 1991)

  • Work In this paper, I have discussed the mathematical structures in existing pattern organization techniques, and the common relationships between patterns

Read more

Summary

Introduction

Work on software patterns started in late 1980s, it was not until the early 1990s that patterns began to attract more attention in software industries. In the last ten years or so, software patterns have grown exponentially and become very popular in the software industry. There is no unified method for describing and organizing these patterns. Some of the existing patterns are organized into Pattern Catalogues, Pattern Systems or Pattern Languages. Except for the pattern languages, pattern Catalogues and pattern systems hardly address the relationships between patterns. When applying a pattern to a particular problem, a user must first find the most suitable one. Experienced pattern users are able to find and select the most suitable pattern to their problem, whereas, novice pattern users would need some guidelines before deciding which pattern to be applied. The work on software patterns is largely influenced by Alexander’s work on urban planning and building construction. According to Alexander, "every pattern we define must be formulated in the form of a rule, which establishes a relationship between context, a system of forces which arises in that context, and a Mathematical structures configuration, which allows these forces to resolve themselves in that context (Alexander, 1979)"

Methods
Discussion
Conclusion

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.