Patterns

A Solution to a Recurring Problem in a Context.

Forces push you toward and away from various solutions.

Patterns show how to resolve the forces (minimum stress)

Capture expert knowledge in a domain as a means of transmission

More than an Idiom

Not a process

The context affects the nature of the problem so that a templated solution is not appropriate

Focus is on the forces

Exist (only) in Pattern Languages

(Unified systems of related patterns)

Are used with other patterns in the language

Must be applied sequentially (not all at once)

The forces change when you apply a pattern

Overarching purpose is to make the world a better place in which to live.

Different formats for expression (GOF, Alexandrian)

GOF is considered old fashioned now. The community has progressed greatly



Jim (Cope) Coplien on patterns (Patterns discussion list, 5/6/99)

An Alexanderian pattern is an element in a pattern language; being written in pattern form, and being widely applied, doesn't make something an Alexanderian pattern. That an Alexanderian pattern is an element in a pattern language implies many more properties:

- it is structural, defining a field of spatial relations (so

something that is simply a process to do something cannot be a pattern);

- it is generative (plaid pants are a common pattern among golfers, but since they're not generative, they're not Alexanderian patterns);

- it is not only something that is broadly applied, but more importantly something that reflects a community consensus about what's important and useful

- it states preconditions for individual health and social life in a community

- it is an encapsulation of forces in a pattern language

The concept is actually quite hard, which is probably the reason that most people use the term "pattern" casually for dozens of simplified variants of the concept, much as there are problems with Gin and Tonics being normative in Hitchhiker's Guide to the Galaxy...