Template:Pattern/doc

A generic Pattern template based on the scheme in the book Core J2EE Patterns by Alur et al. See for example pp 129-130 in the 2nd edition for a description of a pattern template (which is in turn based on the work of Gamma et al (1995) inspired by the work of Christopher Alexander ).

Usage
The following:

produces:

Parameters
The template reflects a variation on the "Alexandrian form" but with explicit place holders for each of the following:


 * theme - a colour scheme for the pattern indicated with a theme name (see 'Themes' below)
 * name - a descriptive name for the pattern; choose a name which is as self-explanatory as possible
 * context - describe the context for the pattern indicating when and why it is relevant
 * problem - indicate what specific problem(s) the pattern addresses
 * forces - indicate what forces are in play, and how the pattern balances these forces
 * solution - structure of the design pattern of architecture, code, thought, behaviour or action (etc.) and strategies for applying it to solve the problem(s)
 * consequences - describe the benefits and trade-offs (pros and cons) of applying this pattern and strategies in context
 * case - describe one or more situations where such a pattern/strategy was applied successfully
 * related - links to related patterns (internal and external) with a brief explanation of the relationship.

Themes
The theme parameter is the name of a theme defined in template Box Theme Attribute. Available themes are illustrated here.

To create a new theme edit template Box Theme Attribute.

To Do

 * Make the template include a separately editable page named as a parameter (naming problems and losing pages?)
 * Then we can have a decorator template with project management features (color coded status fields, icons, categories, authors, etc.).
 * Make a generator: AddBeLibrePattern
 * BeLibrePattern: name space?