jargon

Comparison

Design patternvsPattern language

Design pattern

someone described a solution in four words and everyone in the room pictured roughly the same code.

A named, reusable arrangement of objects for a recurring design problem, along with the trade-offs of using it. The value was never the code — most patterns are a dozen lines — it is the name, which turns a five-minute explanation into a two-word one. The failure mode is treating the catalogue as a shopping list rather than a vocabulary, which is how a codebase ends up with an abstract factory producing one product.

Full entry →

Pattern language

the patterns reference each other, so choosing one narrows what you would sensibly choose next.

A connected set of patterns where each names the problems it leaves behind and the patterns that address them, taken from Christopher Alexander's work on buildings. It is the idea the software catalogues borrowed and mostly dropped: what survived was the list, not the connections between entries. The distinction is worth knowing because it explains why the book reads as a catalogue and why people quote Alexander at each other about it.

Full entry →

Related comparisons