Nodejs có áp dụng OOP vào đươc không? Và có thật sự cần thiết?
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ứ"
Không dùng OOP thì việc xây dựng, bảo trì hệ thống sẽ mất nhiều chi phí hơn. OOP ra đời nhằm giúp công sức viết code được tiết kiệm hơn, code sạch hơn, tổ chức cũng tốt hơn.
Đấy là ý kiến cá nhân người ta (vì môi trường làm việc của họ, yêu cầu hệ thống của họ không thể áp dụng được oop).
Khi bạn code, hãy dùng cái đầu của bạn để mà nghĩ.
JavaScript có áp dụng vào OOP được không?
fake class
dựa trênnew FunctionName()
và tận dụng cơ chếPrototype Chain
, hoặc có thể sử dụng từ khoáclass
được cung cấp ở ES6 để ẩn tất cả hoạt động tạofake class
.NodeJS áp dụng OOP không?
JavaScript có OOP không?
JavaScript có thừa kế?
[[Prototype]]
. Cách link giữa 2 object làm 2 object của subclass cùng trỏ tới 1 object của superclass, điều này trái với quy tắc của traditional OOP.this
trong JavaScript là reference tới object của class?this
là một biến thông thường, nhưng được truyền theo dynamic binding thay vì lexical scope binding.Có nên sử dụng OOP trong project viết bằng JavaScript
class
,extends
,super
và các kĩ thuật khác trong ES6 để mô phỏng theo OOP, các trường hợp lỗi do hiện thực bên trong chủ yếu là những trường hợp hiếm gặp.Câu hỏi cuối, có nên học JavaScript để học OOP?
thì mình thắc mắc mn đang làm như nào nên hỏi tham khảo thôi bạn, sao nặng lời thế
Bạn đừng hiểu nhầm, mình trả lời không đặt cảm xúc vào không hẳn là nặng lời. Bạn nên tự tin lên.
A post was split to a new topic: Chọn sách hoặc tài liệu nào để học JavaScript và NodeJS?
merged and moved by noname00