Fil Salustri's Design Site

Site Tools


Table of Contents

Pattern Template

As if there weren't enough different pattern forms out there, I've created my own.

Given my definition of patterns, the application of a pattern to a specific problem leads to an instance of the pattern - an entity generated by the pattern's application.

Sections are divided roughly by the questions they answer: when (context and conditions), what (solution structure), how (solution procedure), why (rationale).

:!: Some section headings are given below for explanatory purposes only. The only headings that appear in actual patterns are given in ALL CAPS.

We prefer to keep the actual required section headings to a minimum because (a) having many sections limits the flexibility to express pattern information in a way best suited to the pattern, and (b) having many sections can encourage people to write more material than necessary, and force them to break the information into elements that are inappropriate for the given pattern.

:!: This template should be consistent with the new topic template in my [[patlan:start|pattern language]].

This whole template needs to be rewritten with greater reference to balance.

  • Header Material
    • TITLE A short, descriptive phrase of the kind of entity that application of this pattern should generate.

This should include, where possible, a few small images, sketches, schematics of typical instances, and an optional link to the glossary section (below).

  • Authorship Information: Originator, contributors, version number if available, date of last change.
  • Summary: One paragraph stating the problem, including a general sense of the context.
    • This should be written as a description of an undesirable situation or need.
  • Drivers: A factual account of needs (that are not met and therefore lead to the undesirable situation) and obstructions to meeting the needs.
    • Write this as a set of conditions or indications or symptoms that apply to cases where that pattern may be used.
  • Exposition (optional): Details of the influence of context on the drivers and problem.
  • Counterindications (optional): Details of specific conditions when the pattern should /not/ be applied.
  • THEREFORE one sentence statement of resolution in the form of a directive to the pattern user, either as a solution or a decomposition into other patterns.
  • Structure: A general description of the kind of entity resulting from application of the pattern.
  • Realisation: A procedural/operational/algorithmic description of how the entity is generated.
    • Write this as a “how-to” guide.
    • Include how the entity is tuned/optimised to actual conditions.
  • CONSEQUENCES A description of the context after implementing the pattern; effects to watch for, both good and bad.
  • Separate good and bad features of the new context.
  • Include how the difference between the initial and final contexts can be measured.
  • The bad features of the context is equivalent to the But section of some patterns forms (like Therefore/But).
  • This is not a restatement of counterindications.
  • RELATED PATTERNS (optional) A list of other patterns not refered to elsewhere in the current pattern, annotated to describe the nature of the relation to the current pattern.

See Also


<refnotes> notes-separator: none </refnotes>

research/pattern_template.txt · Last modified: 2020.03.12 13:30 (external edit)