
Design patterns are considered well-formed language to represent software design. We propose several notions of design evolution and discuss the patterns of design evolution in terms of design patterns. First, we propose a classification of design patterns into pattern families. To model the design patterns and the evolutionary relationship between them, we propose a set of graphical notations of design patterns and their evolution, namely pattern type diagrams and pattern evolution diagrams. Then, we analyze evolutionary patterns of design within a family and across multiple families of design patterns. Based on the patterns of design evolution, we can navigate designers to select and compose design patterns for solving complex problems with design patterns. An example illustrates evolutionary design of the framework by composing design patterns.
| selected citations These citations are derived from selected sources. This is an alternative to the "Influence" indicator, which also reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically). | 8 | |
| popularity This indicator reflects the "current" impact/attention (the "hype") of an article in the research community at large, based on the underlying citation network. | Average | |
| influence This indicator reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically). | Top 10% | |
| impulse This indicator reflects the initial momentum of an article directly after its publication, based on the underlying citation network. | Average |
