Hierarchical Relationships among Bad Design Patterns and Good Design Patterns

J.K.H. Mak, C.S.T. Choy, and D.P.K. Lun (PRC)


Design pattern, AntiPatterns, Formal representations,Knowledge representation, Re-engineering, Design PatternRecognition.


Pattern-based design improvement helps designers to locate possible bad design and provide suggestions for improvements base on known good patterns. While researchers have proposed algorithms for recognizing bad patterns in design, they did not consider composition of design pattern instances. In practice, designers compose design pattern instances in solving their design problems. In this paper, we illustrate that good pattern instances can be composed to result in bad ones, while bad pattern instances can be composed to result in good ones. Based on this argument, a pattern-based design improvement approach should be able to recognize composite design patterns instead of just design patterns. As a basis for developing this type of approaches, we suggest a hierarchical model to capture the composite relationships among good and bad patterns. In addition, we define a concept called refinement pattern, which captures possible improvements to bad patterns. This hierarchical model can offer a number of advantages, including rejection of non-informative constituent pattern instances, compactness in the representation of design patterns, reducing complexity in pattern matching by reducing number of constraints to be matched and providing improvement suggestions to bad patterns.

Important Links:

Go Back