Patterns Are Tested in Practice
A pattern is a claim until someone uses it.
- Thread:
- Design patterns
- Level:
- metaconstitutional, in the theory column
- File:
wiki/patterns/patterns-are-tested-in-practice.md
draft
explained in A pattern language for community tech
A pattern is a claim until someone uses it.
Context
A pattern language that grows out of essays, guides, and reading, as this one does.
Problem
Patterns that come only from argument drift toward abstraction. They sound right, but nobody has checked whether they work, and over time the language fills with good intentions instead of tested solutions.
Forces
- Alexander’s design method starts from fit: what actually goes wrong in real use (Notes on the Synthesis of Form). His patterns came from observing places that worked and places that failed (The Timeless Way of Building).
- Iba’s lab mines patterns from experience, through group reflection and interviews with practitioners (Iba, “Pattern Language 3.0”).
- Writing from reading is faster than writing from practice, and an essay rewards a pattern that sounds right.
Solution
Therefore, apply every pattern by name in at least one piece besides the one that introduces it, preferably at another level or in another thread, and revise the pattern when it doesn’t fit.
Actions
- List each applying piece in the pattern’s
applied_in. - When a pattern doesn’t fit, revise it and say why in the commit message.
- Mine patterns from your own experience or from interviews, not only from reading.
Consequences
- Positive: the language fills with solutions that have met real servers and real groups, and failures improve the patterns.
- Negative: a new pattern waits for a second piece before it counts as tested, and a pattern applied only by its own author is still lightly tested.