#00. Javascript hướng đối tượng – DIFFERENT MINDSETS

javascript-huong-doi-tuong-different-mindsets

Chào mừng tất cả các bạn đã đến với bài viết đầu tiên trong chuỗi series Javascript – The New World.

Làm việc gì cũng vậy, chúng ta cần phải theo đuổi đến cùng và không được bỏ cuộc khi gặp khó khăn. Mà để làm được điều đó thì chúng ta phải có động lực, mà để có động lực đúng đắn chúng ta cần phải biết được “TẠI SAO CHÚNG TA CẦN PHẢI LÀM ĐIỀU ĐÓ MÀ KHÔNG PHẢI ĐIỀU KHÁC”.

Trước khi đi vào tìm hiểu một cái gì đó mới thì tôi luôn đặt 1 câu hỏi rằng: “MÌNH HỌC CÁI NÀY ĐỂ LÀM GÌ?”. Vì vậy, tôi muốn đặt câu hỏi: “TẠI SAO LẠI PHẢI HỌC JAVASCRIPT HƯỚNG ĐỐI TƯỢNG?”. Nào, Mời các bạn theo dõi bài viết dưới đây nhé. 

# TẠI SAO LẠI PHẢI HỌC JAVASCRIPT (JS) HƯỚNG ĐỐI TƯỢNG?

Để trả lời câu hỏi này, tôi muốn tách ra làm 3 câu hỏi nhỏ như sau:

  1. Tại sao lại phải học Javascript làm gì?
  2. Lập trình hướng đối tượng là cái gì?
  3. Tại sao phải là Hướng đối tượng mà không phải là cái nào khác?

## Tại sao lại phải học Javascript (JS)?

Bây giờ, tôi sẽ kể cho các bạn nghe một câu chuyện về sự gặp gỡ của tôi và JS nhé. Nào, bây giờ chúng ta cùng nhau leo lên cỗ máy thời gian của Doraemon để quay về thời điểm cách đây 10 năm về trước. Thời điểm ấy chính là thời điểm định mệnh mà tôi và JS lần đầu gặp nhau.

10 năm về trước…

Các bạn biết không, JS lúc đấy chỉ là một cô bé mới lớn đang tập tành bước chân vào cuộc đời đầy rẫy sự cạnh tranh. Vì vậy, JS chỉ biết dựa dẫm vào 2 đàn anh của mình là HTML & CSS. Nếu thời điểm đó HTML & CSS không tồn tại thì đảm bảo JS sẽ không còn chỗ dung thân.

Bên cạnh JS thì còn có VBS (VBScript của Microsoft), hai bạn này lúc nào cũng tranh đấu với nhau với mục đích nhận được sự công nhận của thế giới. Và cuối cùng, sau những cuộc chiến đẫm máu thì JS cũng chiến thắng và kể từ dạo đó VBS không còn tồn tại trên thế gian nữa và thế giới đã chính thức xác nhận sự tồn tại của HÒA BÌNH. Đây là khoảng thời gian mà HTML & CSS phát triển không ngừng và mạnh mẽ thêm thời gian, đó cũng chính là động lực để JS phấn đấu hết mình. Ngày qua ngày, JS không ngừng hoàn thiện mình. Thôi, xem nhiêu đó đủ rồi, chúng ta quay về hiện tại thôi các bạn ạ.

…10 năm sau – hiện tại.

Và thế là, chuyện gì đến cũng đã đến…. JS đã lớn thật rồi các bạn à. JS bây giờ không còn là cô bé non nớt ngày nào, JS đã trở thành một phụ nữ vô cùng sexy gợi cảm và đầy tài năng. JS đã không còn bám víu HTML & CSS như xưa nữa, JS có thể sống độc lập. Giờ đây, JS không chỉ hoạt động trên website mà còn lấn sân qua cả Desktop (ElectronJS) & Mobile app (ReactNative), chưa dừng lại ở đó. JS đang trở thành ngôn ngữ hỗ trợ ở Back End và trở thành trợ thủ đắc lực cho RESTful API. Chúng ta có thể thấy được JS đang và sẽ trở thành công cụ mạnh mẽ hơn nữa trong tương lai dưới sự hộ thuẫn của Google và Facebook với 2 framework nổi tiếng là ANGULAR và REACT

## Lập trình hướng đối tượng là cái gì?

Bạn cứ thử tưởng tượng mình đang làm một cái bánh, để làm ra được một cái bánh đẹp và chuẩn (tôi chưa đề cập đến việc bánh đó có NGON hay là không đâu nhé, vì nó phụ thuộc vào đôi tay của người làm bánh nữa 😄😄😄), quay lại chủ đề làm bánh, để có một cái bánh đẹp thì bạn phải cần một cái khuôn để nặn hình phải không nào? Thì trong lập trình cũng thế, người ta cũng cần cái “khuôn” giống như thế, và hướng đối tượng được xem là cái khuôn mẫu trong lập trình.

## Tại sao phải là Hướng Đối Tượng mà không phải là cái nào khác?

Lập trình hướng đối tượng đã tồn tại và được ứng dụng thực tế trong suốt hàng chục năm trở lại đây rồi và nó đang cho thấy là một khuôn mẫu tốt nhất trong lập trình. Các ông lớn như Google, Microsoft, Facebook…. cũng đang áp dụng mẫu hình này cho các sản phẩm của họ cụ thể hơn là cấu trúc của Angular, ASP.NET MVC hay là React. Mà các bạn cũng biết rồi đấy, khi được sử dụng rộng rãi và được các ông lớn đỡ đầu thì nó sẽ trở thành XU HƯỚNG, mà đã là xu hướng thì thiết nghĩ hòa nhập theo xu hướng là điều hợp lí. Tuy nhiên, không phải ai cũng đồng ý với xu hướng đó, cũng có nhiều người họ không đồng tính với khuôn mẫu này, các bạn có thể tham khảo bài đọc này (Goodbye, Object Oriented Programming). Theo tôi, nếu như có khuôn mẫu khác tốt hơn hướng đối tượng ở thời điểm hiện tại thì tôi cũng sẽ thay đổi quan điểm của mình để theo nó…

Tóm lại, từ việc trả lời 3 câu hỏi bên trên, tôi tin các bạn đã có động lực để theo đuổi đến cùng series Javascript (JS) hướng đối tượng rồi phải không nào? Bài viết này tôi xin tạm dừng tại đây và tôi sẽ bắt đầu vào thẳng chủ đề ở bài viết kế tiếp. Hẹn gặp lại tất cả các bạn.

1 thought on “#00. Javascript hướng đối tượng – DIFFERENT MINDSETS

  1. Đây cũng là một trăn trở của mình khi học OOP và cũng không biết học để làm gì. Cám ơn bạn đã chia sẻ

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *