logo

Design Patterns in Creativity

Design patterns and their associated pattern languages are a technique to assist in creative problem solving. Like TRIZ they are fundamentally about learning from what has gone before and not "reinventing the wheel".

Patterns are most well known in the apparently unrelated fields of bricks 'n' mortar architecture and software design. However they have much wider potential applications - for example, one could envisage a pattern language to assist writers of detective fiction.

Many existing problem solving tools you can buy implicitly use patterns. I believe that the pattern philosophy could also be usefully be applied explicitly to many fields of creative activity.

What Are Design Patterns?

The concept of patterns was first introduced into architecture by Christopher Alexander. They form the foundation of his classic works The Timeless Way of Building and A Pattern Language. In computer science, Alexander's work was taken up by early pioneers and one of the classic books was Design Patterns: Elements of Reusable Object-Oriented Software by the so called Gang of Four.

In essence, a pattern is a way of capturing what works. Alexander's original architectural patterns were based around his observations of the features of design that made spaces and buildings attractive, effective and pleasant to live in. In more general terms, patterns capture proven solutions to recurrent problems. Of course, for patterns to have any practical value the solutions they provide must be non-obvious - or at least, frequently overlooked.

Design patterns can exist at many levels. In architecture, they can be anything from high level town planning (where to locate amenities relative to living spaces for example) down to intricate details such as the perfect shape for a door frame. In the world of computer science and software they cover everything from high level system design down to detailed coding practices.

Patterns can be written in many ways and there are a variety of different pattern templates around for various fields. A pattern template usually defines a standard set of headings such as:

   - Intent
   - Forces
   - Solution
   - Examples

One key to a good pattern is that it is very often visual. Even in an apparently abstract field such as software design, many patterns are accompanied by a diagram that sums up the essence of their essential qualities.

It's important to note that good patterns are not "invented". A good pattern already exists and has been proved to work. The job of the pattern writer is simply to capture the pattern and present it in a way that is of use to others. That said, there is a definite creative element to pattern writing and it appeals to many creative personalities.

Pattern Languages

A collection of patterns in a related field can be described as a "pattern language". Such a language can be seen as a reference book which can be consulted at various stages of a project. One challenge for writers of pattern languages is to make sure thaat they are genuinely useful as a whole and are not just a random collection of patterns assembled in one place. Cross-referencing is essential.

Studying a domain in order to identify a useful set of patterns is referred to as "pattern mining".

Anti-Patterns

Following the success of the patterns concept, some users went on to propose the idea of "Anti-Patterns". As the name suggests, these are examples of ways not to do things. An anti-pattern will point out possible common errors or "gotchas". Anti-patterns are somewhat controversial, some experts considering this emphasis on the negative to be less helpful than concentrating on what works.

The Nature of Order

Christopher Alexander has now gone far beyond his original architectural patterns and produced his massive four volume set The Nature of Order, book one of which is The Phenomenon of Life. This is a deep, philosophical work that attempts to understand and explain basic principles such as the foundation of beauty and perhaps even the nature of life itself. It won't be to everyone's tastes and much of it is open to argument, but it's a fascinating read. I don't personally agree with everything Alexander says, but I still love the book.