De fato o GoF é muito culpa o abuso, das críticas, das ideiais erradas. Inclusive a maioria das pessoas acham que DP é só o que está naquele livro. E mesmo eles são questionáveis individualmente.
A maior crítica que eu posso fazer nesses mais conhecidos é que não foram bem explicados, e há um entendimento das pessoas que eles são o suprasumo da programação e assim se você soubê-los e ficar enfiando eles no seu código você não precisa aprender a programar de verdade.
Vou fazer uma pergunta para OP e aos variados leitores (não para o kht), você sabe o que é design pattern? A maioria das pessoas não sabem, aí elas não podem nem discutir o assunto, quanto mais elogiar ou criticar. Ela normalmente está falando de pouco mais de uma dúzia deles que muitas vezes são para ajudar a pessoa a sair do problema que se meteu usando OOP com suas limitações.
A mentira foi tão repetida que hoje quase todo mundo acredita que seja verdade o que está escrito no GoF e as pessoas falam sobre algo que nem é correto.
As pessoas não sabem que elas podem criar os DPs delas, mesm oque não fique famoso. Que pode ser tão útil que pode ter uma implmentação pronta para uso. Então como vão saber quando é útil de fato, quando trará problemas, quando encaixa no seu contexto? Tem que estudar toda a computação e saber raciocionar.
A outra grande crítica que eu faço, e já feita acima é que as pessoas passaram usar como receita de bolo e não como uma forma de aprender fazer algo melhor. DPs são uma forma específica de "boas práticas", por isso vou fazer um vídeo baseado na minha palestra, chamada "A péssima prática de seguir boas práticas".
S2
Farei algo que muitos pedem para aprender a programar corretamente, gratuitamente (não vendo nada, é retribuição na minha aposentadoria) (links aqui no perfil também).