Nodejs có áp dụng OOP vào đươc không nhỉ? à thì theo suy nghĩ của mình thì có thể, cơ mà có thật sự cần làm thế không? Tại mình chưa thấy project nào trên github sử dụng OOP với Nodejs cả.
Ngay cả khi có typescript thì vẫn thấy việc áp dụng oop trong các dự án Nodejs khá là hiếm.
"Cá nhân tôi nói rằng việc viết Node.js trong phong cách OOP sẽ chỉ làm chậm bạn. Ngoài ra, cố gắng để đạt được OOP tinh khiết trong Node.js (hoặc JS nói chung) sẽ yêu cầu thêm boilerplate để cung cấp các tính năng như đa hình. (Ngoài ra, việc Chuyển đổi kiểu dữ liệu không phải là một thứ hay trong JS, thay vào đó chúng ta có mutable scope).
Tôi cũng nói rằng bạn không cần thừa kế. Ví dụ, bạn có thể chọn viết theo phong cách chức năng và dựa vào sáng tác.
Hầu hết các dự án trong thế giới thực mà tôi đã thấy, sử dụng Node.JS được viết trong một sự kết hợp các kiểu hàm, OO và thủ tục.
Tôi bắt đầu làm việc với Node.JS khi đã có nền tảng OO và cố gắng áp dụng chúng(OO) một phong cách nghiêm ngặt cho code của tôi đang viết, nhưng nhanh chóng nhận thấy rằng tôi đã bỏ qua các tính năng mà Javascript nói chung đang cung cấp.
Một sự khác biệt lớn giữa JS và rất nhiều ngôn ngữ OO truyền thống, là các hàm đó là các first-class objects, có nghĩa là bạn có thể tạo chúng bên ngoài các lớp. Bạn sẽ nhận ra rằng một class sẽ chỉ thêm chi phí và sự phức tạp lên trên chức năng của bạn.
Với Node.JS, bạn sử dụng modules để chia nhỏ mã của mình. Các modules có thể là các trình đơn đơn giản, các thư viện hàm, các lớp hoặc thậm chí chỉ cung cấp một giá trị đã được tính toán.
=> tôi sẽ nói cách “đúng” để viết Node.js là viết từng mô-đun theo cách đơn giản nhất có thể, và xây dựng lại mã sử dụng theo bất kỳ kiểu nào có ý nghĩa đối với đoạn logic cụ thể đó. Nếu bạn dùng quá nhiều OO ngay từ đầu => bạn đang làm phức tạp mọi thứ"