Professional Documents
Culture Documents
What is a pattern?
❑A single problem is documented with its typical place (the syntax), and use
(the grammar) with the most common and recognized good solution seen in
the wild, like the examples seen in dictionaries.
❑Each such entry is a single design pattern. Each pattern has a name, a
descriptive entry, and some cross-references, much like a dictionary entry.
❑Just as words must have grammatical and semantic relationships to each other
in order to make a spoken language useful, design patterns must be related to
each other in position and utility order to form a pattern language.
❑In the language, therefore, each pattern has to indicate its relationships to other
patterns and to the language as a whole. This gives the designer using the
language a great deal of guidance about the related problems that must be
solved.
A pattern language, a term coined by architect Christopher Alexander,
is a structured method of describing good design practices within a
field of expertise.
Advocates of this design approach claim that ordinary people can use
it to successfully solve very large, complex design problems.
❑In the language description, the grammar and syntax cross index
(often with a literal alphabetic index of pattern names) to other named
solutions, so the designer can quickly think from one solution to
related, needed solutions, and document them in a logical way. In
Alexander's book, the patterns are in decreasing order by size, with a
separate alphabetic index.
❑The web of relationships in the index of the
language allows for many different paths
through the design process. This simplifies the
designer's life, because the design process can
start from any part of the problem that the
designer understands, and work toward the
unknown parts. At the same time, if the
pattern language has worked well for many
projects, there is reason to believe that even
though the designer may not completely
understand the design problems at first, the
process will complete, and the resulting design
will be usable. For example, skiers coming
inside will need to shed snow and store
equipment. The messy snow and boot cleaners
should stay outside. The equipment needs
care, so the racks should be inside. etc.
It really is a language: There is even an analogy to spelling
or phonology, in the documentation standards for the
designs and patterns. Without these, the people building
the design won't be able to read the design.