Saat mendidik diri sendiri tentang arsitektur perangkat lunak dan pola desain, saya perhatikan bahwa dalam kebanyakan kasus, beberapa fitur bahasa dan spesifikasi desain tersirat dalam penjelasan.
Misalnya hampir semua artikel atau buku tentang itu akan menggambarkan ide-ide menggunakan kelas dan antarmuka. Segala sesuatu yang dapat dengan mudah ditemukan pada topik ini akan menyebutkan objek dan konsep OOP.
Bagaimana jika bahasa, di mana sistem ditulis tidak memiliki konsep seperti itu sama sekali? Misalnya bagaimana jika saya menggunakan Python atau Node, yang diketik secara dinamis dan tidak memiliki gagasan tentang antarmuka? Bagaimana jika saya menggunakan TypeScript di mana antarmuka adalah konstruksi singkat, yang tidak ada di runtime? Bagaimana jika saya mencoba merangkul pemrograman fungsional? Haruskah saya mengabaikan misalnya SOLID dan mencari konsep lain, cocok untuk bahasa saya?
Jika ya, apa itu? Sayangnya semua paradigma yang diadopsi dengan baik (sejauh yang saya ketahui) merujuk pada konsep dan tipe OOP dalam beberapa cara. Jika tidak, aturan mana yang harus saya ikuti ketika mengadaptasi arsitektur umum dan prinsip-prinsip desain dengan bahasa khusus saya dan case use
Bagaimana secara umum Anda menggambarkan ketergantungan antara arsitektur dan bahasa?