Doug Lea contributed the following checklist for writing great patterns.
A Pattern...
- Describes a single kind of problem.
- Describes the context in which the problem occurs.
- Describes the solution as a constructable
- Describes design steps or rules for constructing the solution.
- Describes the forces leading to the solution.
- Describes evidence that the solution optimally resolves forces.
- Describes details that are allowed to vary, and those that are not.
- Describes at least one actual instance of use.
- Describes evidence of generality across different instances.
- Describes or refers to variants and subpatterns.
- Describes or refers to other patterns that it relies upon.
- Describes or refers to other patterns that rely upon this pattern.
- Relates to other patterns with similar contexts, problems, or solutions.