A ``Prescriptive Pattern Language'' is a partially (at least) ordered collection of patterns, which direct the reader how to solve a specific kind of problem. (Compare with PatternsHandbookLanguage.)
-- PaulChisholm:
I have two hypotheses:
One: The patterns in a Prescriptive Pattern Language are qualitatively different than other patterns (e.g., standalone patterns, or patterns in a PatternsHandbookLanguage). The patterns are less general, there is less motivation, explicit context is less important.
Two: A framework is best described by a Prescriptive Pattern Language. A programmer writing programs to a framework always does the same kinds of things. (That's what makes frameworks so easy to use once they're learned). A Prescriptive Pattern Language captures those "kinds of things" as steps in the development, each one a pattern, ordered to minimize the global understanding needed to carry out each step.
Examples:
-
Glenn E. Krasner and Stephen T. Pope, "A Cookbook for Using the ModelViewController User Interface Paradigm in Smalltalk-80, Journal of Object-Oriented Programming, May-June 1988, pp. 26-49.
-
NormKerth's "Caterpillar's Fate"
-
MichaelFeathers' CppUnit Cookbook, which was "easily/shamelessly mutated" from the JUnit Cookbook by KentBeck and ErichGamma, which in turn is presumably based on the Smalltalk UnitTests work. Funny; this cookbook doesn't follow any pattern form I know of, but I can identify the elements, and it reeks of the QualityWithoutaName ... which is a GoodThing(tm).