Während ich mich über Softwarearchitektur und Designmuster informierte, bemerkte ich, dass in den meisten Fällen einige Sprachmerkmale und Designspezifikationen in der Erklärung enthalten sind.
Praktisch jeder Artikel oder jedes Buch darüber wird die Ideen anhand von Klassen und Schnittstellen veranschaulichen. Alles, was man zu diesem Thema leicht finden kann, würde Objekte und OOP-Konzepte erwähnen.
Was ist, wenn die Sprache, in der das System geschrieben ist, solche Konzepte überhaupt nicht hat? Was ist beispielsweise, wenn ich Python oder Node verwende, die dynamisch eingegeben wurden und keine Vorstellung von der Benutzeroberfläche haben? Was ist, wenn ich TypeScript verwende, bei dem eine Schnittstelle ein kurzlebiges Konstrukt ist, das zur Laufzeit nicht vorhanden ist? Was ist, wenn ich mich für funktionale Programmierung interessiere? Soll ich zB SOLID ignorieren und nach anderen Konzepten suchen, die für meine Sprache geeignet sind?
Wenn ja, welche? Leider beziehen sich alle gut angenommenen Paradigmen (soweit mir bekannt ist) in irgendeiner Weise auf OOP-Konzepte und -Typen. Wenn nein, nach welchen Regeln sollte ich die allgemeine Architektur und die Gestaltungsprinzipien an meine Sprache und meinen Anwendungsfall anpassen?
Wie würden Sie allgemein die Abhängigkeit zwischen Architektur und Sprache beschreiben?