It did happen. Dozens if not hundreds of books were published in what looked like an attempt to reduce the whole of computer science to design patterns, as publishers and authors attempted to jump on (or create) yet another bandwagon. I have a shelf of them. Never consulted since first scanned, and yes I was a sucker, because there was little or nothing in there of any actual use or that wasn't already well known (see for example Type Object, which is nothing more than third normal form expressed over a dozen pages instead of one paragraph), and because obviously the fewer patterns the better: a point which eluded most of the practicioners. Indeed, when I posted a rebuttal of Type Object, I was instructed to recast my text as a design pattern. True story. Which also shows another deficiency of the project: no review or exclusion or rejection mechanism.
As a matter of fact the GoF didn't actually attempt to 'thoroughly explore Design Patterns'. Rather, they were engaged on a much larger project: to introduce 'pattern language' into CS, with all its bizarre notational arcana of Forces, Participants, etc., which simply failed, because it was fundamentally misconceived, as well as being pointless.
What they did accomplish, which was useful, was two things:
- publish several useful tricks such as the Visitor pattern
- provide a standard set of names which has largely stuck: Factory, Adapter, Iterator, ... If you look at CORBA, which was designed immediately beforehand, you will see the value of this: all sorts of 'foreign' names such as Interceptor, Servant, Broker, ...
Another useful concept that arose was the 'anti-pattern', e.g. 'log and throw'. The project, like many fads in CS, was derailed by its own evangelism and by being misguidedly adopted as yet another CS religion, and it went the way of most such religions: useful in parts, but certainly 'no silver bullet' ((c) Fred Brooks, 1965). Sad that we have to keep rediscovering that every few years really.