Software design patterns were derived from the work of architect Christopher Alexander, specifically his book A Pattern Language: Towns, Buildings, Construction. This excerpt (from episode 39) addresses a problem: most software people don't know one of Alexander's most important ideas, that of "forces".
Sources
- Christopher Alexander et al, A Pattern Language: Towns, Buildings, Construction, 1977.
Mentioned (or that I wish I'd found a way to mention)
- Gamma et al, Design Patterns, 2004
- Eric Evans, Domain-Driven Design, 2003. I also like Joshua Kerievsky's pattern-language-like description of study groups, "Pools of Insight".
- Brian Marick, "Patterns failed. Why? Should we care?", 2017 (video and transcript)
- "Arches and Chains" (video) is a nice description of how arches work.
- Ryan Singer, "Designing with forces: How to apply Christopher Alexander in everyday work", 2010 (video)
Credits
By Anneli Salo - Own work, CC BY-SA 3.0, Wikipedia Commons