Trong khi tự học về kiến trúc phần mềm và các mẫu thiết kế, tôi nhận thấy rằng trong hầu hết các trường hợp, một số tính năng ngôn ngữ và đặc thù thiết kế được ngụ ý trong phần giải thích.
Ví dụ, thực tế bất kỳ bài viết hoặc cuốn sách về điều đó sẽ minh họa các ý tưởng bằng cách sử dụng các lớp và giao diện. Mọi thứ người ta có thể dễ dàng tìm thấy trong chủ đề này sẽ đề cập đến các đối tượng và khái niệm OOP.
Điều gì xảy ra nếu ngôn ngữ, trong đó hệ thống được viết không có khái niệm như vậy? Ví dụ: nếu tôi sử dụng Python hoặc Node, được gõ động và không có khái niệm về giao diện thì sao? Điều gì xảy ra nếu tôi sử dụng TypeScript trong đó giao diện là cấu trúc phù du, không tồn tại trong thời gian chạy? Điều gì xảy ra nếu tôi đang cố gắng nắm lấy lập trình chức năng? Tôi có nên bỏ qua ví dụ RẮN và tìm kiếm các khái niệm khác, phù hợp với ngôn ngữ của tôi không?
Nếu có, đó là những gì? Thật không may, tất cả các mô hình được chấp nhận tốt (theo như tôi biết) đều đề cập đến các khái niệm và loại OOP theo một cách nào đó. Nếu không, tôi nên tuân theo quy tắc nào khi điều chỉnh các nguyên tắc thiết kế và kiến trúc chung cho ngôn ngữ và trường hợp sử dụng cụ thể của mình?
Làm thế nào nói chung bạn sẽ mô tả sự phụ thuộc giữa kiến trúc và ngôn ngữ?