Design patterns have social value

(written by lawrence krubner, however indented passages are often quotes). You can contact lawrence at: lawrence@krubner.com, or follow me on Twitter.

An interesting bit from Adam Petersen:

Patterns have social value too. The format arose to enable collaborative construction using a shared vocabulary. In Patterns in C I write on the groundbreaking work of architect Christopher Alexander:

The patterns found in Alexander’s books are simple and elegant formulations on how to solve recurring problems in different contexts. […] His work is a praise of collaborative construction guided by a shared language – a pattern language. To Alexander, such a language is a generative, non-mechanical construct. It’s a language with the power to evolve and grow. As such, patterns are more of a communication tool than technical solutions. [Petersen12]

Patterns in the original sense are context-dependent and do not by some work of magic provide universally ‘good’ designs. You can’t take the human out of the design loop. This is why I get disappointed every time I see someone offering a ‘patterns code library’ or expensive case tools that come stacked with ‘UML pattern templates’. Reducing patterns to mechanisms doesn’t tell the full story. The most interesting part of a pattern is rarely the implementation.

Post external references

  1. 1
    http://accu.org/index.php/journals/1877
Source