Software design patterns: common questions and answers

James O. Coplien · 1998

Software design patterns are an emerging tool for guiding and documenting system design. This paper is a beginner's guide to patterns, answering common questions about patterns, pattern languages, generativity, and Alexandrian form. The paper describes patterns in terms of objects, rules, idioms, and paradigms in general. The paper also provides sources for patterns, and provides a short bibliography of patterns papers that have appeared in recent literature. 1: What is a pattern? The term pattern, as adopted by contemporary software designers exploring its benefits, is both part of a system and a description of how to build that part of the system. Patterns usually describe software abstractions used by advanced designers and programmers in their software. As abstractions, patterns commonly cut across other common software abstractions like procedures and objects, or combine more common abstractions in powerful ways. For example, using one object as an iterator that non-destructivel...

Read the paper · More papers on PaperTik