The AlexandrianForm of patterns has the following sections:
- Title
- The name of the pattern. Alexander's names can name the thing created by the pattern, the process of creating it, or some attribute of the solution.
- Prologue
- One sentence per pattern that can be expected to precede this one.
- Problem statement
- One or two sentences that summarize the problem solved by the pattern.
- Discussion
- Anywhere from 4 to 40 paragraphs that illuminate the system of forces resolved by the pattern.
- Solution
- One or two sentences that tell you what to do to solve the problem.
- Diagram
- A picture or two, hand sketched or photographed, that illustrate the pattern (and sometimes the lack of the pattern).
- Epilogue
- One sentence per pattern that can be expected to follow this one.
(Some wiki pages, such as SimplyUnderstoodCode, attempt to follow this form.)
Alexander describes the form a bit differently
(PatternLanguage, x - xi):
- A picture
- which shows an archetypical example of the pattern.
- An introductory paragraph
- which sets the context for the pattern
- Three delimiting diamonds
- A headline in bold type
- that gives the essence of the problem in one or two sentences
- The body
- the longest section: background, motivation, variations
- The solution, in bold type:
- A diagram
- that shows the solution as a labeled picture
- Another three diamonds
- to terminate the main body
- A paragraph
- ties the pattern to all the smaller related patterns that round out this one
I ran across this as I've been chronicling
PatternForms for the
PatternWhitePaper, and it struck me as much more explicit than I remember from my first reading of the book. --
JimCoplien
Discussion:
I've been reading it for the first time, and what strikes me is that the problem definition doesn't identify the forces explicitly. It explains the problem, but without breaking it down into forces or explaining why. I would like to see the forces. -- DaveHarris
Remember this form is specialized for Building Architecture and not Software Design.
CategoryPattern | CategoryPatternForm | CategoryForces