Ho sempre pensato ai Design Pattern come a degli esempi di Design, non come un "linguaggio" o peggio... Per fortuna non sono il solo. Come non quotare, soprattutto l'ultima frase.
...CUT...I've always been skeptical of using the patterns as a shared language. They shouldn't be treated like a classification system. They should be used as examples of good design principles to apply where appropriate to other code. If you can understand why the patterns are useful, you'll be able to create them without memorizing them. You'll have code that is flexible, but not overly complex.
Every programmer should read the Design Patterns book. They should do so to learn the rules of good design though, not as a reference work.
P.s. Il post (Fonte: Are Design Patterns A Bad Idea?) è molto lungo, e merita di essere letto nella sua interezza.