Ich habe Entwurfsmuster gelernt, indem ich eine Menge wirklich schrecklicher Software geschrieben habe. Als ich etwa 12 war, hatte ich keine Ahnung, was gut oder schlecht war. Ich habe einfach einen Haufen Spaghetti-Code geschrieben. In den nächsten 10 Jahren oder so habe ich aus meinen Fehlern gelernt. Ich habe herausgefunden, was funktioniert und was nicht. Als ich also zum ersten Mal hörte, was Design Patterns sind, war ich sehr gespannt darauf, etwas darüber zu erfahren, und dann sehr enttäuscht, dass es sich nur um eine Sammlung von Namen für Dinge handelte, die ich bereits intuitiv kannte. (der Witz, dass man sich C++ in 10 Jahren selbst beibringen kann, ist eigentlich kein Witz)
Die Moral von der Geschichte: Schreiben Sie viel Code. Wie andere schon gesagt haben, üben, üben, üben. Ich denke, solange Sie nicht verstehen, warum Ihr derzeitiges Design schlecht ist und nach einem besseren Weg suchen, werden Sie keine gute Vorstellung davon haben, wo Sie verschiedene Design Patterns anwenden können. In Büchern über Entwurfsmuster sollten Sie eine ausgefeilte Lösung und eine gemeinsame Terminologie finden, um sie mit anderen Entwicklern zu diskutieren, und nicht eine Lösung für ein Problem, das Sie nicht verstehen.