Ich glaube, dass die vierköpfige Bande selbst Designmuster als klassifiziert
eine gemeinsame Lösung für ein häufig auftretendes Problem *
Also ja, die Muster sind relevant, wenn die gleiche Art von Problem auftritt. Und das bringt uns zu einem Problem mit dem Begriff "Design Pattern". Ein Muster ist etwas Erkennbares, das wiederholt auftritt. In Wirklichkeit gibt es also kein Muster von Designs, sondern ein Muster von Problemen.
Einige Programmiersprachen haben möglicherweise native Lösungen für einige dieser Probleme. Das Buch "Design Patterns" selbst erwähnt, dass das Besuchermuster bei Verwendung von CLOS von geringem Wert ist, da Multi-Dispatch von CLOS unterstützt wird, dem eigentlichen Problem, das das Besuchermuster zu lösen versucht.
Darüber hinaus verfügt das .NET Framework über einen integrierten Ereignismechanismus zum Veröffentlichen von Ereignissen für mehrere Listener, sodass das Observer-Muster in diesem Kontext weniger relevant ist.
Der Wechsel von Desktop-Anwendungen zu Web-Anwendungen ** ändert auch die Art der zu lösenden Programmierprobleme. Viele der Muster im Buch "Design Patterns" sind für Desktop-Anwendungen relevant, jedoch weniger für Web-Anwendungen. Natürlich können diese Muster bei Apps mit nur einer Seite wieder auf der Clientseite relevant sein.
Aber die Entwurfsmuster und Bücher wie "Entwurfsmuster" oder "Muster der Unternehmensanwendungsarchitektur" sind von großem Wert, wenn Sie ein Anfänger in der Programmierung sind und zum ersten Mal mit einer neuen Art von Problem konfrontiert werden. Als ich das erste Mal war, wurde ich gebeten, die Undo-Funktionalität zu implementieren. Wäre da nicht das Buch "Design Patterns" gewesen, hätte meine Implementierung wahrscheinlich so etwas wie das Speichern eines Schnappschusses der Daten nach jeder Zustandsänderung *** gewesen - ein sehr fehleranfälliger und fürchterlich ineffizienter Ansatz.
Ja, einige Muster verlieren mit der Zeit an Relevanz, und wenn Sie ein erfahrener Programmierer werden, denken Sie weniger über sie nach. Für einen Neuling sind sie jedoch wertvoll, solange Sie sich daran erinnern, dass sie das Mittel zur Lösung eines Problems sind - und nicht die Aufgabe, so viele wie möglich zu verwenden.
* Das Zitat ist möglicherweise nicht 100% genau, da es aus dem Speicher stammt
** Nach meiner Erfahrung ist es in Unternehmen sehr verbreitet, Web-Bereitstellungsmechanismen für interne Branchenanwendungen zu wählen.
*** Nach dem Erlernen der funktionalen Programmierung und der funktionalen Datenstrukturen ist dies möglicherweise die Art und Weise, wie ich sie heute lösen würde.