The GoF book
There is also the question of the content and form of the GoF
book[GoF94]. First published in 1994, it’s stood the test of
time for a work on computer programming. No book other than
There is also the question of why other books on patterns are not in the top
ten of best-seller lists for software design and architecture. I had to get
down into the 20s before I found another title at the time of writing. In the
lists I saw, which offered rankings2 in accordance with estimated
sales figures,
Some people have asked whether the GoF patterns are design patterns at all. In fact, more experienced people than me have called them out as idioms—while some individuals have stated the GoF’s patterns are not found in actual use anywhere3. Others claim their use only began because of the paper and the book—turning them into a kind of self-fulfilling prophecy. Why do people think the book’s patterns aren’t actually patterns? If this is true, what are they then? And what would an actual pattern look like?
Finally, there’s the question of form. There are some concerns regarding the way the patterns are structured in the book; some of them did not make complete or obvious sense when contorted into this mould, making them less practical than they could have been. The work also observes that there are significant differences4 to Christopher Alexander’s patterns and does not strictly adhere to the principles of his pattern language. This begs the following questions: why do some people think the movement could have been hurt by setting a theme and structure for patterns? What harm did this literary structure do to the power of patterns as both a device and a movement?
Even the original GoF believe some patterns need updating and others should be added, so realistically, the answer is a simple no.
One site was
https://bookauthority.org/books/best-selling-programming-books; the other
was digging into Amazon sales rankings myself. The rankings change
regularly. Sometimes, there are no other design patterns books in the top 20.
Other times, it seems
This particular point was written up by David Budgen in a study at Durham University https://www.infoq.com/articles/design-patterns-magic-or-myth/
Page 356 mentions Alexander’s patterns have an order, emphasise the problems rather than solutions, and have a generative capacity. On the following page, they admit the work is not a pattern language but ‘just a collection of related patterns’.