Modifiers: Increasing richness and nuance of design pattern languages

  • Authors:
  • Gwendolyn L. Kolfschoten;Robert O. Briggs;Stephan Lukosch

  • Affiliations:
  • Department of Systems Engineering, Faculty of Technology, Policy, and Management, Delft University of Technology;Center for Collaboration Science, College of Business Administration, University of Nebraska at Omaha;Department of Systems Engineering, Faculty of Technology, Policy, and Management, Delft University of Technology

  • Venue:
  • Transactions on pattern languages of programming II
  • Year:
  • 2011

Quantified Score

Hi-index 0.00

Visualization

Abstract

One of the challenges when establishing and maintaining a pattern language is to balance richness with simplicity. On the one hand, designers need a variety of useful design patterns to increase the speed of their design efforts and to reduce design risk. On the other hand, the greater the variety of design patterns in a language, the higher the cognitive load to remember and select among them. One solution to this problem is the concept of a modifier design pattern, a design pattern for pattern languages. A modifier pattern is a named, documented variation that can be applied to some set of other design patterns. They create similar, useful changes and refinements to the solutions derived from any pattern to which they are applied. The modifier concept, described in this paper emerged in a relatively new design pattern language for collaborative work practices in which the design patterns are called thinkLets. When analyzing the thinkLet pattern language, we found that many of the patterns we knew were variations and refinements of other patterns. However, we also found patterns in these variations; we found variations that could be applied to different patterns, with similar effects. We document these variations as modifiers. In this paper, we introduce the concept of modifier design patterns and illustrate the use of modifiers with two case studies.