Inklings: a tumblelog

Ghosts of Unix Past: a historical search for design patterns [LWN.net]

The exploration of design patterns is importantly a historical search. It is possible to tell in the present that a particular approach to design or coding works adequately in a particular situation, but to identify patterns which repeatedly work, or repeatedly fail to work, a longer term or historical perspective is needed. We benefit primarily from hindsight.

Also read part 2 (conflated designs), part 3 (unfixable designs), and part 4 (high-maintenance designs).