GIẢI THÍCH DI (Dependency Injection) qua ví dụ dễ hiểu !

แชร์
ฝัง
  • เผยแพร่เมื่อ 29 พ.ย. 2024

ความคิดเห็น •

  • @itandlife572
    @itandlife572 11 หลายเดือนก่อน +2

    Công nhận đang k hiểu DI, qua bên bác cái hiểu liền. Thực tế dễ hiểu. Respect bác

  • @tranquocmai2538
    @tranquocmai2538 2 วันที่ผ่านมา

    Hay quá ad. Thank ad ❤

  • @refacore-c
    @refacore-c 6 หลายเดือนก่อน +2

    Giá trị của DI là ẩn giấu đi việc một class được khởi tạo như thế nào, mà chỉ quan tâm đến hành vi của nó. Một class có thể được khởi tạo khác nhau phụ thuộc vào context của chương trình theo config hoặc runtime. DI sẽ quản lý việc đó và những bên tiêu dùng sẽ không bị ảnh hưởng, chỉ việc sử dụng những chức năng mà nó cam kết (qua interface, abstract class, hoặc chính khai báo của class đấy). XeMay phụ thuộc vào DongCo, DongCoTrungQuoc phụ thuộc vào cam đơn, DongCoMy phu thuoc vào cam đôi, DongCoDuc phụ thuộc vào cam biến thiên. Các cam này lại phụ thuộc vào xích cam hay đai cam v.v.v. Như vậy để khởi tạo một instance của XeMay, bạn sẽ phải biết khởi tạo từ xích cam, đai cam, động cơ v.v.v. DI giải phóng chúng ta khởi cây dependencies này.

  • @vutranxuan5731
    @vutranxuan5731 6 หลายเดือนก่อน

    Cảm ơn anh! E tìm hiểu toàn lý thuyết không hiểu nổi, may gặp được anh giải thích dễ hiểu

  • @phucthai9790
    @phucthai9790 ปีที่แล้ว +1

    dễ hiểu. a lấy ví dụ rất thực tế :))

  • @tuananhvu9948
    @tuananhvu9948 ปีที่แล้ว +1

    Ui, dễ hiểu quá a ơi!!!, em cám ơn anh ạ❤

  • @lâmtrịnh-r4m
    @lâmtrịnh-r4m หลายเดือนก่อน

    Đẳng cấp , respect

  • @19_phanhoaiphong4
    @19_phanhoaiphong4 9 หลายเดือนก่อน +1

    giải thích quá vip

  • @tongducchung2411
    @tongducchung2411 11 หลายเดือนก่อน +1

    thông minh quá ạ

  • @cogivuioay9283
    @cogivuioay9283 8 หลายเดือนก่อน

    Tuyệt cà là vời

  • @NamHoang-ve7yj
    @NamHoang-ve7yj ปีที่แล้ว +1

    hay quá cảm ơn anh nhiều !!!

  • @TopGames-999
    @TopGames-999 5 หลายเดือนก่อน

    cảm ơn a đã giải thích rất dễ hiểu, vip thật sự, chưa có nút donate a ơi :v

  • @ngongocminhsang5052
    @ngongocminhsang5052 ปีที่แล้ว +1

    hay lắm anh ơi 100 đỉm 💯

  • @thaiminhthanhfgwhcm7642
    @thaiminhthanhfgwhcm7642 4 หลายเดือนก่อน

    e cam mon a nhieu lam

  • @quyetleduy6440
    @quyetleduy6440 7 หลายเดือนก่อน

    giải thích dễ hiểu, cảm ơn anh

  • @BinhNguyen-ez1hy
    @BinhNguyen-ez1hy 4 หลายเดือนก่อน

    Cảm ơn a.

  • @raikoo5714
    @raikoo5714 8 หลายเดือนก่อน

    video hay quá ạ

  • @minhtrantuong7339
    @minhtrantuong7339 5 หลายเดือนก่อน

    cảm ơn anh, dễ hiểu ghê

  • @duylong3684
    @duylong3684 8 หลายเดือนก่อน

    anh Trung ơi anh dạy về solid với desgin pattern trong java spring đc k ạ

  • @nguyentuankhoi7367
    @nguyentuankhoi7367 10 หลายเดือนก่อน

    Xem hết bao nhiêu cái video thì đến cái này mới hiểu

  • @ErikKillmonger185
    @ErikKillmonger185 ปีที่แล้ว

    video dễ hiểu quá anh ạ. Thanks anh nhiều

  • @ivblock4899
    @ivblock4899 9 หลายเดือนก่อน

    dễ hiểu

  • @birant1925
    @birant1925 ปีที่แล้ว

    giải ngố thành công cảm ơn anh

  • @binhnguyenba4926
    @binhnguyenba4926 6 หลายเดือนก่อน

    hay ạ

  • @ngocphuongnguyen9973
    @ngocphuongnguyen9973 ปีที่แล้ว +1

    anh có thể làm video giải thích dễ hiểu multithreading được không ạ

    • @trungpham1431
      @trungpham1431  ปีที่แล้ว

      Cảm ơn bạn đã phản hồi video ! Chủ đề về multithreading rất rộng và áp dụng rất nhiều bài toán khác nhau , bạn muốn mình giải thích về bài toán nào nhỉ !

    • @ngocphuongnguyen9973
      @ngocphuongnguyen9973 ปีที่แล้ว

      @@trungpham1431 em mới học thôi nên em muốn hiểu những thứ căn bản nhất thôi ạ

    • @ngocphuongnguyen9973
      @ngocphuongnguyen9973 ปีที่แล้ว

      @@trungpham1431 À anh có thể làm một video về sự khác biệt giữa Asynchronuos với MultiThread cũng được ạ

  • @notesfordev
    @notesfordev ปีที่แล้ว

    Thanks for this help ! ❤

  • @audiongontinhtruyenteen4017
    @audiongontinhtruyenteen4017 9 หลายเดือนก่อน

    mình hỏi chút, mình định dùng ví dụ của bạn để trả lời PV, nhưng mình thấy có case dưới.
    trong thực tế khi sử dụng thì DI vẫn dùng cụ thể 1 class IMPL để inject vào.
    vậy thì khi class đó lỗi thì project cũng không tự động dùng class khác thay thế được.
    như vậy tính chịu lỗi có phải là chưa rõ ràng ?

    • @trungpham1431
      @trungpham1431  9 หลายเดือนก่อน +1

      Chào bạn . Rất vui vì nhận được câu hỏi của bạn . Mình chưa thực sự hiểu rõ câu hỏi nên nếu trả lời chưa đúng thì bạn có thể hỏi lại mình nhé .
      Thì DI bạn hiểu đơn giản nó là phương pháp , và là 1 pattern trong thiết kế để giảm thiểu đi việc phụ thuộc giữa 2 class với nhau . Còn khi gặp sự cố thì mình vẫn có thể thay thế , sửa chữa bời người lập trình , còn "project cũng không tự động dùng class khác thay thế được" thì mình chưa hiểu ý này lắm .

    • @audiongontinhtruyenteen4017
      @audiongontinhtruyenteen4017 9 หลายเดือนก่อน

      ​@@trungpham1431 câu trên mình chưa hiểu chỗ tăng tính chiu lỗi khi thay phụ thuộc từ IMPL sang abstraction, mình có đọc thêm thì cũng hiểu ra một chút, nghĩa là khi phụ thuộc nhau qua abstract, thì mình có thể tạo các class impl khác để thay thế class cũ nếu logic không đáp ứng phải k.
      tks u bạn.

  • @thaiangtrantieuxa3449
    @thaiangtrantieuxa3449 ปีที่แล้ว

    DI sinh ra để test dễ hơn :))

  • @taidragon1
    @taidragon1 ปีที่แล้ว +2

    sự khác biệt giữa DI và tính đa hình là gì vậy ?

    • @tuananhbui1072
      @tuananhbui1072 ปีที่แล้ว +3

      Hiểu một cách đơn giản hơn: Đa hình là khái niệm mà hai hoặc nhiều lớp có những phương thức giống nhau nhưng có thể thực thi theo những cách thức khác nhau.
      Còn DI thực tế nó thường dùng để loại bỏ sự phụ thuộc giữa tầng controller và các tầng BL(business layer) bằng cách tiêm các class interface vào controller và BL lúc đó controller sẽ phụ thuộc vào lớp interface và BL cũng thế

    • @quangpham1519
      @quangpham1519 ปีที่แล้ว

      nói chuyện chỏng vậy , người ta giải thích xong cũng k cảm ơn, thái độ thể hiện trình độ

    • @huyhoangoffical352
      @huyhoangoffical352 ปีที่แล้ว

      hay@@quangpham1519