3 VẤN ĐỀ VỚI OOP mà trường Đại Học không dạy bạn -

Поделиться
HTML-код
  • Опубликовано: 9 янв 2025

Комментарии • 108

  • @BaoNguyen-xr7xt
    @BaoNguyen-xr7xt Месяц назад +9

    Theo như mình biết thì Dependency Inversion là một nguyên tắc thiết kế trong OOP còn Dependency Injection là một cách để triển khai Dependency Inversion trong source code.
    Cụ thể, Dependency Inversion Principle (DIP) là 1 trong 5 nguyên tắc của SOLID. Trọng tâm của DIP hướng đến việc các module cấp cao không nên phụ thuộc trực tiếp vào các module cấp thấp mà cả hai phải phụ thuộc vào các lớp trừu tượng.
    Lấy ví dụ về bàn phím và máy tính Desktop:
    Để hiển thị đúng ký tự đã gõ trên bàn phím, máy tính cần biết được phím nào đã được nhấn. Giả sử một cái bàn phím A nào đó được tạo ra và không tuân theo quy chuẩn nào hết, sau đó mới tạo ra một cái máy tính để sử dụng được với cái bàn phím A này, máy tính phải hiểu được cấu trúc cũng như các tín hiệu của cái bàn phím A này. Giờ ta có nhu cầu đổi sang bàn phím B với quy chuẩn hoàn toàn khác, ta phải thiết kế các máy tính lại từ đầu.
    Khi áp dụng DIP ta sẽ có quy trình thiết kế như sau. Tạo ra một chuẩn giao tiếp giữa bàn phím và máy tính, sau đó thiết kế bàn phím A và máy tính theo chuẩn giao tiếp này. Khi có một cái bàn phím B mới thì chỉ cần thiết kế nó theo đúng chuẩn giao tiếp này là được. Thậm chí khi bạn không sử dụng bàn phím mà sử dụng máy tính bỏ túi được "độ" sao cho có thể giao tiếp theo chuẩn này thì nó vẫn có thể hoàn toàn thay thế cái bàn phím A kia mà không gặp bất cứ vấn đề gì.
    Khi này Dependency Injection có thể hiểu là bạn tạo ra cái cổng USB để cắm bàn phím chứ không cần phải nối dây trực tiếp vào bảng mạnh.

    • @DanTech0xFF
      @DanTech0xFF  Месяц назад +1

      Cmt của bạn thật chi tiết. Cám ơn bạn đã bổ sung kiến thức cho video 🙌

  • @haobui8913
    @haobui8913 Месяц назад +4

    kênh anh đang phát triển tốt, chúc anh càng có thêm động lực ra nhiều video hay

    • @DanTech0xFF
      @DanTech0xFF  Месяц назад

      Đa tạ e nha. Theo dõi các content mới của anh nha.Chúc e thành công nheng.

  • @lanchanoinguyen2914
    @lanchanoinguyen2914 16 дней назад +1

    đúng vậy,bản thân mình không sử dụng bất kì một lớp class nào của oop thứ nhất là nó không hề khiến code của bạn gọn hơn hay hệ thống hơn so với việc dùng con trỏ hàm bên trong một struct.Thứ hai quan trọng nhất đó là hiệu suất,nếu sử dụng các API âm thanh của window viết trên C thì không nên gọi hàm trong lớp vì chúng chậm và gây lỗi cái này là trải nghiệm thực tế của mình cho thấy oop là chậm hoặc không cần thiết trong lập trình.

  •  Месяц назад +11

    Mình nghĩ nên thay cái performance bởi cái clean code. Hồi còn sinh viên, mình khá quan tâm đến perfomance của code một phần vì trong chương trình học cũng có nhắc đến khái niệm độ phức tạp của thuật toán, một phần do mình đi thi thuật toán nên hiển nhiên peformance của code rất quan trọng rồi.

    • @DanTech0xFF
      @DanTech0xFF  Месяц назад

      Đồng ý 100% với bạn luôn. Hiệu năng luôn cần được cân nhắc trong quá trình phát triển software.

  • @nghe-van-phong-luong-5-trieu
    @nghe-van-phong-luong-5-trieu Месяц назад +11

    DIP là triết lý thiết kế hệ thống (gọi là design principle hoặc philosophy cũng được), một module cấp cao không nên phụ thuộc vào module cấp thấp (cho tới architect vẫn thế)
    DI là implement của DIP, cái này về mức code thôi (level thấp nhất của 1 module), sẽ có tool hỗ trợ (Host Application của .NET, Bean bên Java, ...)
    Giống quả CQRS và CQS

    • @QaAq-z4g
      @QaAq-z4g Месяц назад

      Thế mục đích của cái này để làm gì á bạn? Mình mới đi làm có 3 4 năm ở outsource, cũng không hiểu ba cái này, chỉ có đọc docs rồi làm theo req thôi, nhiều khi dính quả source code nát quá, không có gì học luôn :(

    • @nghe-van-phong-luong-5-trieu
      @nghe-van-phong-luong-5-trieu Месяц назад

      @@QaAq-z4g Mục đích chính để loose coupling, gián tiếp tăng tính re-usable bạn

    • @QaAq-z4g
      @QaAq-z4g Месяц назад

      @@nghe-van-phong-luong-5-trieu Bạn đi làm lâu chưa? Sao bạn giỏi thế?

    • @nghe-van-phong-luong-5-trieu
      @nghe-van-phong-luong-5-trieu Месяц назад

      @@QaAq-z4g Vừa ra trường thôi, mình có base ở chuyên tin nên học hiểu nhanh mấy cái này...

  • @TruongGiangHuynhNguyen
    @TruongGiangHuynhNguyen Месяц назад +3

    rỏ ràng và chi tiết, ủng hộ kênh ạ e mới làm 3 năm mấy thôi có mấy cài còn chưa hiểu lắm

    • @DanTech0xFF
      @DanTech0xFF  Месяц назад

      Cám ơn e nha. Cmt này thực sự rất tạo động lực cho a tiếp tục 😆

  • @cat-programing
    @cat-programing Месяц назад +1

    Follow anh zai từ lúc trên tiktok , phải nói là ah chia sẽ những kiến thức rất thực tế và có chiều sâu , đã vậy còn rất khiêm tốn 😁 , chúc kênh phát triển để giúp đỡ newbie như e

  • @ChanhLe-hg5qc
    @ChanhLe-hg5qc Месяц назад +2

    Mình nghĩ rằng Dependency Inversion là một principle/idea/concept về việc quản lý dependency. Còn Dependency Injection là một pattern/solution/technique để implement cái idea kia. Ngoài Dependency Injection thì còn có một pattern khác là Service Locator. Cả 2 pattern đều rất phổ biến trong việc quản lý dependency.

    • @DanTech0xFF
      @DanTech0xFF  Месяц назад

      Cám ơn bạn đã bổ sung kiến thức cho kênh. Vạn lần chân thành biết ơn 😁🙌

  • @ankunkun
    @ankunkun Месяц назад +1

    Coi anh từ Tiktok qua đây, em giới thiệu cho mấy ae công ty coi luôn =)) quá chất a ơi

    • @DanTech0xFF
      @DanTech0xFF  Месяц назад

      Cám ơn e. A biết các nội dung mình truyền tải chưa thực sự trọn vẹn về mặt trình bày hấp dẫn nhưng vẫn được mọi người đón nhận. Đó là nguồn động lực lớn để a hoàn thiện hơn. Chúc e may mắn thành công 🙌🍀

  • @duongphuhiep
    @duongphuhiep Месяц назад +5

    những bạn nào quá quen thuộc với OOP mà vẫn muốn hiểu rõ hơn nữa về OOP, tốt nhất là nghịch các Language không OOP như C, Golang, F#, Javascript... để xem nó giải quyết vấn đề thế nào khi ko có OOP. các mặt trái của Oop

    • @DanTech0xFF
      @DanTech0xFF  Месяц назад

      Một gợi ý hay. Bro có thể chia sẻ thêm về 1 số điểm khó khăn trong việc lập trình hàm ko?

    • @duongphuhiep
      @duongphuhiep Месяц назад +5

      @DanTech0xFF khó khăn lớn nhất đối với mình là debug higher order function. Một hàm f1 có input là 1 hàm f2 rồi truyền f2 cho thằng khác gọi, hàm f2 lại nhận input là hàm f3, f4.. rồi output cũng lại là 1 hàm khác, ko rõ sẽ được gọi vào thời điểm nào... lúc debug stack trace chả giúp đỡ được nhiều, mà phải hiểu được tư duy của tác giả cái mớ hỗn độn này mới mong gỡ được.

    • @DanTech0xFF
      @DanTech0xFF  Месяц назад +1

      Có thể dùng stack trace để debug nơi nào call hàm. Nhưng quả thật rất đúng khi bảo trì callback hell thì ai cũng nhức đầu thôi.

    • @vuhoang4181
      @vuhoang4181 28 дней назад

      ​@@duongphuhiep Chính vì vậy người ta mới tích đẻ ra TS cho JS, để bạn biết được hàm f1 nhận gì và trả về kết quả gì từ đó có thể debug dễ hơn, nếu thấy một chuỗi hàm gọi lồng nhau thì chỉ cần check đúng hàm nào nó làm sai thì có thể giải quyết đc.😅

  • @BackendNestJs
    @BackendNestJs 24 дня назад +1

    từ khi em ứng dụng design pattern thì em mới biết là cái kế thừa / đa hình quan trọng như nào

  • @TrinhTheNguyen
    @TrinhTheNguyen Месяц назад +1

    Rất dễ hiểu... Mình đọc nhiều blog mà vẫn chưa hiểu về DI bằng video 🎉

  • @vinh2668
    @vinh2668 Месяц назад

    Ví dụ dễ hiểu quá anh, video bổ ích ạ 🥰

    • @DanTech0xFF
      @DanTech0xFF  Месяц назад +1

      Đa tạ em 🤘. Hóng chờ video mới nha

  • @thanhphamminh1876
    @thanhphamminh1876 Месяц назад +1

    mong a ra video sinh viên cần đáp ứng gì cho danh nghiệp khi đi làm

  • @echconlun
    @echconlun Месяц назад +1

    Level dev cũng ở dạng middle thôi học thêm đi e...và chú tâm học trau dồi thêm đi ..kiến thức có bao nhiêu đâu mà còn youtube. a khuyên thật lòng.

    • @DanTech0xFF
      @DanTech0xFF  Месяц назад

      Cám ơn anh đã khuyên 🤗

  • @minh-hcmus
    @minh-hcmus Месяц назад +4

    Dạ, nội dung bổ ích ạ. Mà kiểu e thấy các phần nội dung kiến thức a nên có hình ảnh minh hoạ gì đó thì tuyệt hơn. Ví dụ như trong phần DI thì có thêm minh hoạ thì 10đ ạ. Này mới 9.5 thôi ạ 😅

    • @DanTech0xFF
      @DanTech0xFF  Месяц назад +1

      Cám ơn góp ý của e 😆. Kênh mới làm nên còn thiếu nhiều, e ủng hộ lâu dài nha.

  • @Megumin_coding-x8i
    @Megumin_coding-x8i Месяц назад +1

    vid hay, học về oop thì nên biết thêm chứ thuộc mỗi 4 tính chất thôi thì chưa thấy thú vị lắm. Mà e cũng có 1 vài bổ sung sau
    + chủ đề oop và performance , lấy java làm ví dụ đi thì e nhớ ko nhầm ngôn ngữ và framework nó quản lý mấy cái class với biến tận răng rồi. Oke mà cho là v đi thì liệu việc viết class cồng kềnh, kế thừa nhiều quá ảnh hưởng như nào đến hiệu năng, hay chỉ đơn thuần là rối mắt thôi. E thấy đây là chủ đề hay, vì bàn về hiệu năng mà ko nói đến big o thì ít ng làm
    + nên ngó qua 1 xíu về functional programming, tại vì 1 số ngôn ngữ oop cũng lấy vài tính năng của FP cho tiện. Và ngó qua FP để biết là ko chỉ có mỗi OOP

    • @DanTech0xFF
      @DanTech0xFF  Месяц назад

      Trăm lần cám ơn bạn đã phản hồi lên video. Nội dung trong video có thể chưa thuyết phục được tất cả mọi người, mình hi vọng nhận được nhiều sự bổ sung góp ý để làm tốt hơn 😁🤗

  • @nghiepdev
    @nghiepdev Месяц назад +1

    OOP nhớ đến câu chuyện con khỉ và khu rừng. Cần 1 quả chuối nhưng lại nhận được một con khỉ đang cầm quả chuối và cả khu rừng 😁
    "Và sau đó, tôi thực hiện 1 project mới, và tôi nghĩ ngay về cái class mà tôi đã từng sử dụng ở project trước đây. Thật tiện, việc cần làm duy nhất là lấy class đó ra từ project cũ và sử dụng. So simple!
    À thì.. không chỉ là mỗi class đó. Chúng ta sẽ cần class cha của nó nữa. Nhưng không sao, vậy cũng được mà.
    Um.. Chờ chút, có vẻ là sẽ cần thêm cả class cha của cha của class đó nữa cơ. Ok, tôi vẫn có thể xử lí được nó, không sao cả.
    Và thật là tuyệt, nó không chạy. Tại sao chứ!!?? À, có lẽ là tôi cần thêm class này, à cả class kia nữa... Không sao, mọi thứ vẫn có thể kiểm soát được!
    Nhưng chờ đã, không chỉ class kia, ta cần thêm class cha của nó, và cả cha của cha của.....!"

    • @DanTech0xFF
      @DanTech0xFF  Месяц назад

      Haha, thật ko may. Tôi cần thêm cả 3rd party library nữa. Ôi cuộc đời.

  • @huyhunhngc
    @huyhunhngc Месяц назад +4

    Vì sao anh lại xem Dependency Inversion là một cách làm bonus nhỉ? Có vẻ chưa chuẩn lắm, trong khi nó là principle mà để đáp ứng được principle ấy người ta implement Dependency Injection hoặc Service Locator,..

    • @DanTech0xFF
      @DanTech0xFF  Месяц назад

      @@huyhunhngc Vì theo quá trình phát triển ban đầu người ta chỉ cần Dependency Injection mà không cần (hoặc ko biết) Dependency Inversion. Chỉ khi có nhu cầu mở rộng source code, hoặc thay thế module mới áp dụng D Inversion. Nên a nói nó là bonus của D Injection.

    • @tuvantran660
      @tuvantran660 Месяц назад

      Mình cũng chung câu hỏi cách làm bonus nghĩa là gì ? dependency injection khác dependency inversion không ?

    • @tuvantran660
      @tuvantran660 Месяц назад +1

      ​@@DanTech0xFFtheo em nghĩ dependency inversion là định nghĩa lớn, dependency injection là 1 cách áp dụng. Inversion là đảo ngược đưa sự phụ thuộc ra khỏi class laptop bằng cách truyền biến bàn phím vào, có thể truyền phím của laptop, phím rời phím cơ

    • @DanTech0xFF
      @DanTech0xFF  Месяц назад +1

      @@tuvantran660 A nghĩ mình có chung góc nhìn á. Nhưng trình bày cách hiểu khác nhau. It's all good.

  • @tranthinhqnam
    @tranthinhqnam Месяц назад +1

    anh ra series OOP đi anh

  • @vuhoang4181
    @vuhoang4181 28 дней назад

    Hãy chuyển qua Functional Programming, bạn sẽ không gặp các issue của OPP😂

  • @hoangsontran5448
    @hoangsontran5448 Месяц назад

    Chào Dan, mình xem videos rồi, mới đọc các bình luận, xin phép góp ý là chắc Dan "update" thêm cách trình bày để mấy bạn tránh hiểu nhầm ý Dan. Hông lẽ là... để có thêm lý do làm videos :)). Chúc kênh phát triển tốt nhé.

    • @DanTech0xFF
      @DanTech0xFF  Месяц назад

      Cám ơn bạn nhìu nha 😅

  • @nguyetanh3046
    @nguyetanh3046 Месяц назад +1

    anh biết chỗ nào gợi ý code trong vs code k anh(ví dụ như IntelliCode API Usage Examples á anh)

    • @DanTech0xFF
      @DanTech0xFF  Месяц назад +1

      Em dùng tab nine thử xem. Nó free á

  • @huyvan9242
    @huyvan9242 Месяц назад +1

    Với vai trò là người đi tuyển dụng thì theo một sinh viên cần nắm vững những kiến thức gì v a

    • @DanTech0xFF
      @DanTech0xFF  Месяц назад +1

      Nếu là sinh viên thì em hãy học giỏi nhất có thể e nhé. Các project môn học hãy làm mọi cách để đạt điểm cao, hiểu hệ thống và tìm cách tối ưu chúng.

  • @tamhuynhthanh874
    @tamhuynhthanh874 Месяц назад +2

    Mac của bạn bao nhiêu GB Ram thế

    • @DanTech0xFF
      @DanTech0xFF  Месяц назад

      Mình làm Mobile nên hơi ngốn RAM. Cty cấp con 32Gb xài thả ga 🤣

  • @phatminh2003
    @phatminh2003 Месяц назад +1

    Đã theo dõi nha bác, chúc bác sớm nhận được Nút

    • @DanTech0xFF
      @DanTech0xFF  Месяц назад

      Đa tạ vị huynh đệ này 🤘

  • @Hansoo-h8e
    @Hansoo-h8e Месяц назад +3

    anh có video về design patern không anh

    • @keysd7095
      @keysd7095 Месяц назад

      Trước mình nghĩ design pattern nó là một cái gì đó ghê gớm lắm, sau đụng dự án mới hiểu nó chỉ là một cách triển khai code để giải quyết một vấn đề nào đó thôi. Khuyến khích ông là nên tự tìm hiểu xong làm dự án tự ứng dụng chứ đừng xem video 10-20p trên mạng vì design pattern nó rất nhiều và không phải chỗ nào cũng dùng là tốt và chỉ nên dùng khi ông thực sự cần và hiểu nó, nếu ông giác ngộ thì chỉ cần lướt qua design pattern nào đó thôi là hiểu liền😂(nói hơi quá) hoặc tự tạo một design pattern của riêng ông để giải quyết một vấn đề của ông.

    • @Hansoo-h8e
      @Hansoo-h8e Месяц назад +1

      @@keysd7095 trường tui k có dạy design pattern nên tui cũng k biết, nghe anh chủ kênh nói thì tui mới bắt đầu tìm hiểu

    • @DanTech0xFF
      @DanTech0xFF  Месяц назад +1

      Anh biết 1 kênh tip js đã làm về design pattern em có thể tham khảo. Hoặc tự đọc sách "gang of four design pattern"
      Nếu anh làm video về design pattern anh cũng sẽ nói lại những gì trong sách dạy thôi, với sự diễn đạt của anh.

    • @Hansoo-h8e
      @Hansoo-h8e Месяц назад +1

      @@DanTech0xFF anh cho em xin tên kênh với ạ, em cảm ơn anh

    • @DanTech0xFF
      @DanTech0xFF  Месяц назад +1

      @Hansoo-h8e kênh Tip JavaScript nha e. Chủ kênh người VN, nội dung dễ hiểu.

  • @O...Maiden...O
    @O...Maiden...O Месяц назад +1

    á à, t đã phát hiện thấy filco shibuki 🙂

    • @DanTech0xFF
      @DanTech0xFF  Месяц назад

      Haha, xài từ tết 2019 đến giờ vẫn tốt bạn ạ.

    • @O...Maiden...O
      @O...Maiden...O Месяц назад +1

      @@DanTech0xFF ko ngờ b cũng biết chơi đồ đấy :)) đồ này dùng thì bền khỏi bàn rồi

    • @DanTech0xFF
      @DanTech0xFF  Месяц назад

      @@O...Maiden...O haha, ông bạn quá khen

  • @tienvu473
    @tienvu473 Месяц назад +3

    Cuốn sách về Design Pattern anh nói là cuốn gì vậy ạ

    • @DanTech0xFF
      @DanTech0xFF  Месяц назад +1

      E search google Gang of Four - Design Pattern

    • @ducnguyenminh1vti.d994
      @ducnguyenminh1vti.d994 Месяц назад

      là cuốn này bạn ạ, Design Patterns: Elements of Reusable Object-Oriented Software

    • @tienvu473
      @tienvu473 Месяц назад

      @@DanTech0xFF ​ ​ @ducnguyenminh1vti.d994 Dạ, Em cảm ơn 2 anh ạ

  • @nhutanhtran1738
    @nhutanhtran1738 Месяц назад +1

    có đại học nông lâm tp hcm dạy design pattern với tên thiết kế hướng đối tượng a ạ :v

    • @DanTech0xFF
      @DanTech0xFF  Месяц назад +1

      Quá tuyệt e ạ. Có thể các trường cũng cập nhật theo thời thế 😆.
      Ko biết có trường nào bỏ môn java dạy luôn kotlin chưa nhỉ

    • @nhutanhtran1738
      @nhutanhtran1738 Месяц назад

      @@DanTech0xFF thank a , đúng r anh , trường em dạy chuyên java đến mức độ dùng java làm mọi thứ ...........

    • @daybot1634
      @daybot1634 Месяц назад +1

      UIT thì tên là Mẫu Thiết Kế :v

  • @SweetLoveP67
    @SweetLoveP67 Месяц назад +1

    một số khái niệm e nghĩ a nên chú thích trên màn hình

    • @DanTech0xFF
      @DanTech0xFF  Месяц назад

      Cám ơn em. Hi vọng kênh phát triển tốt để anh kiếm thêm 1 editor làm cùng. Hiện tại anh làm hết nên edit còn tạm

  • @khanhduynguyen4726
    @khanhduynguyen4726 Месяц назад +1

    Mọi người cho em hỏi khái niệm instance nên hiểu thế nào mới đúng ạ

    • @DanTech0xFF
      @DanTech0xFF  Месяц назад +1

      Hình dung instace là 1 cái bánh, còn class là cái khuôn.

    • @khanhduynguyen4726
      @khanhduynguyen4726 Месяц назад

      @@DanTech0xFF dạ cảm ơn nhiều

  • @hobinh8744
    @hobinh8744 Месяц назад

    Em cảm ơn anh về clip này, nó giúp ích cho em khá nhiều. Em có 1 chúc thắc mắc là việc sử dụng kế thừa có xuất hiện nhiều trong khi mình đi làm không anh

    • @DanTech0xFF
      @DanTech0xFF  Месяц назад +1

      Có em nhé. Kế thừa, đa hình sẽ ở mọi nơi em code.

    • @hobinh8744
      @hobinh8744 Месяц назад

      @@DanTech0xFF dạ em cảm ơn anh, chúc kênh anh mau phát triển hơn nữa nha

  • @Toiditimduong
    @Toiditimduong Месяц назад +1

    OOP nên học ở đâu vậy anh

    • @DanTech0xFF
      @DanTech0xFF  Месяц назад

      Oop cố gắng tự học và làm project nhiều chút em. Chúc em thành công nhen

  • @buihoangminh6011
    @buihoangminh6011 Месяц назад

    anh ơi, sách Design Pattern anh nói là sách gì vậy anh. GIờ trên thị trường tèm lem đủ thử em không biết cái nào nên chọn nữa.

    • @DanTech0xFF
      @DanTech0xFF  Месяц назад

      Design pattern gang of four nhé em

  • @anhtuta95
    @anhtuta95 Месяц назад +2

    Dependency inversion nghe ko đúng lắm...

    • @DanTech0xFF
      @DanTech0xFF  Месяц назад

      @@anhtuta95 bro có thể bổ sung ko 👍🙏

    • @anhtuta95
      @anhtuta95 Месяц назад +2

      Video bạn nói Dependency inversion nghĩa là truyền nhiều dependecy. Thực ra ko phải vậy, nguyên lý này nghĩa là đảo ngược mối quan hệ giữa các module: chúng sẽ giao tiếp với nhau qua abstract chứ ko phải concrete

    • @tuvantran660
      @tuvantran660 Месяц назад +1

      ​@@anhtuta95anh nhận định đúng nè, anh trên vid đưa ví dụ laptop với bàn phím, thì inversion đưa bàn phím ra ngoài truyền object phím laptop hoặc phím cơ vào. Đây ví dụ căn bản nhất của Dependency Inversion, Dependency Injection là 1 áp dụng của định nghĩa trên

  • @vietduc179
    @vietduc179 Месяц назад +1

    ví dụ về laptop ko hợp lý n

    • @echconlun
      @echconlun Месяц назад +1

      cũng vì thế mình đánh giá ku thớt này..yếu: kiến thức và sinh lý luôn đó

    • @DanTech0xFF
      @DanTech0xFF  Месяц назад

      2 Anh trai nói em yếu kiến thức thì có thể chỉ ra yếu ntn và đưa ví dụ để cover mảnh kiến thức bị yếu giúp em với 😁.
      Còn chuyện em yếu sinh lý, em cam đoan là anh nói xạo, võ đoán. Anh ko biết em khoẻ ntn đâu.

  • @XuanDuyNguyenVo
    @XuanDuyNguyenVo Месяц назад +1

    em code reactjs với expressjs (dùng typescript) nhưng đó giờ em không thề đụng vô gì tới OOP luôn nhưng vẫn ra sản phẩm bình thường. Em thắc mắc là liệu OOP có thực sự là một thứ quan trọng không ạ.

    • @DanTech0xFF
      @DanTech0xFF  Месяц назад

      Typescript là oop wrapper của js mà e ko dùng oop. Vậy e code gì ở đó 😆

    • @XuanDuyNguyenVo
      @XuanDuyNguyenVo Месяц назад +1

      @@DanTech0xFF Ý em là OOP thực sự kiểu trong java á, trong typescript em chỉ dùng mỗi "type" để định nghĩa kiểu dữ liệu. Vài Trường hợp thì có đụng vô Class nhưng không nhiều.

    • @thaiduongHD
      @thaiduongHD Месяц назад +2

      @@DanTech0xFFtại sao Typescript lại là OOP wrapper của JS. Bản thân JS cũng có thể OOP đc mà. TS cái tên nói lên tất cả, type safe. 😂

    • @naminh674
      @naminh674 Месяц назад +1

      không em code chạy là được =>>. Theo như e kể thì viết mỗi type dùng class thì ít thì e dùng js document cho lành

    • @DanTech0xFF
      @DanTech0xFF  Месяц назад

      @@XuanDuyNguyenVo OOP là type safe đó thôi bạn

  • @vietnguyen8150
    @vietnguyen8150 Месяц назад +1

    tôi đã sub với bạn

    • @DanTech0xFF
      @DanTech0xFF  Месяц назад

      Đa tạ bạn đã sub, tôi trăm ngàn lần biết ơn sự ủng hộ này.