Pattern Language

Christopher Alexander book: A Pattern Language: Towns, Buildings, Construction ISBN:0195019199. I'll probably abuse Fair Use rules here shortly (at Alexander Patterns). Because it's not just about architecture, but about Design Thinking for kids, families, education systems, work, etc.

His book was responsible for the Design Patterns movement in Computer Programming.

And in other areas of Human System Design.

WikiWikiWeb:WhyWritePatternsPattern, WikiWikiWeb:PatternLanguageForPatternLanguages

Various Pattern Language initiatives

What Is A Pattern Language? (to me)

Taking Christopher Alexander's work as the archetype, I'd say...

  • a Pattern Language is a coherent/integrated collection of patterns to work within when designing something (cf conceptual integrity)
    • what does it mean to Design?
    • you don't have to follow every pattern in the language, but you shouldn't break any of them (?)
      • is this really "true"? is it a valid meta-rule/GameRule?
      • is every pattern formulated in such a way that you can definitively state that some aspect of a Design "breaks" it?
  • a Pattern is a "solution" to a problem/Context which adds QWAN (Quality Without A Name) to the environment.
    • confusing notes from Jim Coplien and Richard P Gabriel - Each pattern is a three-part rule, which expresses a relation between a certain context, a certain system of forces which occurs repeatedly in that context, and a certain software configuration which allows these forces to resolve themselves.
    • that solution might be a structure to create, or a process/behavior to follow
    • patterns are often observed as already working in various environments, as opposed to being totally new creations - not unlike Bio Mimicry

Richard P Gabriel, in Fine Points of Pattern Writing

  • A pattern language tells you how to build a coherent (Coherence) thing by telling you what to build at important steps along the way
  • A pattern makes sense only within a pattern language - otherwise it is merely a strange fragment like the one from Sappho
  • For a pattern language, ask what you are building (Road Map) so that you can focus on what the parts are and how the needs and desires of people fit in.

GerardMeszaros: PatternLanguageForPatternWriting

  • on naming Pattern-s
    • use a "NounPhraseName" because it's easier to use in a Shared Vocabulary
    • have the name describe the result/outcome created by its application

Edited:    |       |    Search Twitter for discussion