Ich habe hier bei Programmierern die Antwort auf diese Frage gesehen: Wie verändert sich das Denken über Entwurfsmuster und OOP-Praktiken in dynamischen und schwach typisierten Sprachen? Dort fand ich einen Link zu einem Artikel mit einem ausgesprochenen Titel: Fehlen Design Patterns Sprachfunktionen . Aber wo ich Schnipsel gefunden habe, die mir sehr eingängig erschienen und die sich wahrscheinlich anhand von Erfahrungen bestätigen lassen, gibt es einen Anreiz dafür, wie zum Beispiel:
PaulGraham sagte: "Peter Norvig stellte fest, dass 16 der 23 Muster in Design Patterns in Lisp 'unsichtbar oder einfacher' sind."
oder ein anderer Satz, der bestätigt, was ich kürzlich mit Leuten gesehen habe, die versuchen, Klassen in JavaScript zu simulieren:
Natürlich spricht niemand über das Funktionsmuster oder das Klassenmuster oder über zahlreiche andere Dinge, die wir für selbstverständlich halten, weil die meisten Sprachen sie als eingebaute Funktionen bereitstellen. OTOH, Programmierer in einer reinen PrototypeOrientedLanguage? Vielleicht ist es praktisch, Klassen mit Prototypen zu simulieren ...
Ich berücksichtige auch, dass Entwurfsmuster ein Kommunikationswerkzeug sind . Denn selbst mit meiner begrenzten Erfahrung beim Erstellen von Anwendungen kann ich zum Beispiel ein Anti-Pattern ( ineffektiv und / oder kontraproduktiv ) sehen, das ein kleines PHP-Team dazu zwingt, GoF-Patterns für kleine bis mittlere Intranet-Apps zu lernen. Mir ist bewusst, dass Größe, Umfang und Zweck bestimmen können, was effektiv und / oder produktiv ist, aber ich habe es trotzdem nicht geschafft, einen technischen Überblick darüber zu finden.
Ich sah kleine kommerzielle Anwendungen, die sich mit OOP mischten und trotzdem wartbar waren, und ich weiß nicht, ob viele zum Beispiel in Python ein Singleton schreiben müssten, aber für mich macht ein einfaches Modul dasselbe.