@Waseihou: Tvoje zdání je správné. Jsou vzory, které postrádají smysl (např. Observer se dá nahradit Eventy, Command (z části) lamda výrazy ...), jsou vzory, které smysl mají (Singleton, Builder...).
Návrhový vzor je vždy ofuk nad nedokonalostí jazyka / prostředí. V LISPu se více-méně používá jen jeden ("makro na každou kravinu"), v Javě, C++ a C# se jich používá více než je v GoF.
Je dobré je znát - pak uvidíš úlohu a můžeš si říct "Jo, tohle vlastně řeší vzor ...". Je špatné je cpát všude stylem "Tady je úloha, jakej vzor na ni můžu napasovat?", stejně jako rozšířený mýtus především PHP programátorů, že návrhové vzory jsou k ničemu a že i "kýbl s*aček" je legitimní architektonický návrhový vzor.
Snaž se o čitstý, testovatelný a udržovatelný kód ("Bude mi jasné, proč toto tady je, až se na to za půl roku podívám?") a samo Ti vyplyne, jaké vzory budeš používat a jaké ne.