Dependency Injection & Inversion of Control

Поделиться
HTML-код
  • Опубликовано: 26 сен 2024
  • Please support me on Patreon: / thesimpleengineer
    / thesimpengineer / schachte
    ryan-schachte.com
    Don't forget to subscribe! ➨ Website -
    ➨ New Video! - • Docker Client, Images ...
    ➨ / the-simple-engineer-80...
    ➨ Github - github.com/sch...
    ---------------------------------------------------------------
    This week, we're going to talk about the topic of Dependency Injection in Object oriented code. We will implement a solution in Java. You don't need a fancy container to do it, it's actually quite simple to do manually! We will look at how frameworks like Spring use these principles in their dependency injection container.

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

  • @TheSimpleEngineer
    @TheSimpleEngineer  5 лет назад +39

    What do you guys want to learn next?

    • @stephane3115
      @stephane3115 5 лет назад +26

      everything that is not language specific (Design patterns, SOLID, etc..)

    • @TheSimpleEngineer
      @TheSimpleEngineer  5 лет назад +20

      @@stephane3115 Cool. I'll probably do a SOLID overview video and then separate deep dives like this one in a mini series! Thanks!

    • @stephane3115
      @stephane3115 5 лет назад +3

      @@TheSimpleEngineer Sounds awesome! Looking forward to it!

    • @ilyasselamrani5674
      @ilyasselamrani5674 5 лет назад +8

      Dude, I just wanted to let you know that your explanation is so FREAKING awesome, I dont why you have such few views, just keep up the good work, you gonna make it.
      Hard luck
      P.S.: I would love to see some generic videos about concepts that every software engineer should know

    • @ishandulet4289
      @ishandulet4289 4 года назад

      too fast, 40% not clear

  • @amanbhatia7442
    @amanbhatia7442 5 лет назад +91

    Fantastic explanation! So many DI and IOC explanations, but none of them seemed to convince my logic. Your video made the concept so easy to understand. Thanks

  • @Ajekiy
    @Ajekiy 5 лет назад +37

    After a few hours of watching videos and reading articles, this has finally made the bulb of my brain turn on and understand exactly what IOC and DI are. The fact that you uploaded this a little more than a month before I needed it makes it even more amazing to me. Thanks a lot, buddy!

  • @pablogarin
    @pablogarin 3 года назад +7

    Dude, congrats... I've watched about 10 IoC or dependency injection videos, and this is the most comprehensive one yet... Cheers!

  • @ajay1124
    @ajay1124 4 года назад +15

    Easily the best explanation I have seen, simple, succint and thorough - well done

  • @rajibsarker3729
    @rajibsarker3729 4 года назад +1

    thanks for showing the problem with constructor injection. 😊

  • @ceki9900
    @ceki9900 2 года назад +4

    I watched tutorials, read books, followed documentation, but this fit me so well. Thank you very much! People could learn a lot from you in one day a lot.

  • @yoshihitotuba
    @yoshihitotuba 4 года назад +48

    It was extremely easy to understand. It's an excellent lecture!
    Thank you!!

  • @laurentiuanghel1562
    @laurentiuanghel1562 2 года назад

    Finally a dude that explains the basic concepts and then actually shows the practical use.. congrats my dude.

  • @calvinsaxon5822
    @calvinsaxon5822 Год назад

    Thanks for not spending 45 minutes on an introduction at the preschool level to what the concept of "depending" means in life in general. Much appreciated. You got right into the meat while still going at a level a beginner could understand. Much appreciated.

  • @koushikrakib7605
    @koushikrakib7605 4 года назад +5

    Oh man, I watched my instructor's video 3 times, didn't get the concept. But you made me understand everything within 8 minutes. I think the way you code and shows example is really helpful. Hats off!

  • @Shemang
    @Shemang 2 месяца назад

    The year is 2024 and this is the best explanation for IoC... appreciate man

  • @kaizer-919
    @kaizer-919 Год назад

    I was very confused with this IoC concept and watched many videos on RUclips and nobody explained it better than you.
    I wish I could give thousands of likes to this video.

  • @dreamsanity34
    @dreamsanity34 4 года назад +4

    Damn, I've been using Java for over 7 years now and I haven't fully grasped Dependency Injection/Inversion of Control until I found your video. I just discovered your channel and this video and it is very simple to understand. I think you are on par or might even be better than JavaBrains. Definitely, better than other RUclipsrs who teach Java technologies and tools.

  • @aliraza9511
    @aliraza9511 3 года назад

    Men your voice is very clear, to be honest everything was just clear! very good understanding

  • @okeuwechue9238
    @okeuwechue9238 Год назад

    Very helpful vid. Thnx.
    @8:50, the issue you introduced - of having 2 databases - can easily be resolved by employing a façade instead of DI.

  • @stefanoctaviansterea1266
    @stefanoctaviansterea1266 2 года назад +1

    I can't believe I watched a lot of videos about DI and IoC in Laravel and still couldn't understand the concept and now I find your video about the same concepts in Java and it's all crystal clear out of a sudden. Your explanations were so good. Thanks a thon!

  • @ashanlingam312
    @ashanlingam312 3 года назад +1

    you are an amazing teacher with great pace and tone of voice and you really know how to communicate important information in a simple easy to understand way. thank you!

  • @sristijaiswal1013
    @sristijaiswal1013 3 года назад

    After hours of wasting my time on different articles and videos, I finally understood from this video. Thanks a lot.

  • @sk8leesk8
    @sk8leesk8 3 года назад

    I've listened to other people explaining this topic. You've had the best, easiest to listen to explanation. Thanks

  • @MinhalNadeem
    @MinhalNadeem Год назад

    Finally someone explained DI in a very practical and simple way. Thankss!

  • @nabidulalam6956
    @nabidulalam6956 3 года назад

    Best video in yt on Dependency Injection & Inversion of Control.

  • @kenmtb
    @kenmtb 2 года назад +1

    This is gold. Thank you for showing your teaching skills and makings a concise no nonsense video. This is the way to learn a concept.

  • @weisjerry
    @weisjerry 2 года назад

    Excellent. In 10 minutes I went from being almost clueless about dependency injection to having a basic understanding.

  • @jith334
    @jith334 Год назад

    Finally I am able to feel the real benifit of doing this after hearing these terms repeatedly for over a decade

  • @vincez691
    @vincez691 3 года назад

    I have spent literally years trying to find a decent video or article to understand DI. This is it right here, the explanation just makes sense

  • @dibyanshumishra3536
    @dibyanshumishra3536 4 года назад +3

    The best tutorial on Dependency injection yet! Seems to tackle every "why" regarding the topic. A suggestion: You could have had a class that creates the object(initializes database) and return the object before going into the framework section. The most perfect explanation on the internet.

  • @prabhatracherla3098
    @prabhatracherla3098 3 года назад

    I don't know Java much, I just wanted to understand the principles of DI. And you nailed it. Crisp, fast, to the point. Kudos

  • @FritsvanDoorn
    @FritsvanDoorn 3 года назад

    Thank you for this explanation. I did not understand this concept until you talked about the usage of unit testing and then the quarter fell. Thank you.

  • @rajnishtiwari1227
    @rajnishtiwari1227 2 года назад

    Still after 3 years its most relevant video on this topic. Kudos from India.

  • @jetgens
    @jetgens 4 года назад

    Dude. You blew my mind with how simple you made this.

  • @Ryan-hk5yb
    @Ryan-hk5yb 6 месяцев назад

    Watching this 5 years later, still a fantastic video

  • @cannonkalra7133
    @cannonkalra7133 4 года назад +10

    This was amazing. It just explained everything I had my doubts about.

  • @GammaSouljah
    @GammaSouljah 3 года назад

    Im learning C# and Dependency Injection but was confused by some of the video on youtube specifically targeting c#. I stumbled on to your video and you made the concept so Clear! Thank you!

  • @steambassador
    @steambassador 4 года назад +1

    Finally, today i have understood IoC explicitly!!! yes you are a gooood lecturer!

  • @irfaanjamarussadiq5500
    @irfaanjamarussadiq5500 3 года назад

    This really is the best explanation of DI and IOC I have seen yet! Your explanation was very easy to understand!

  • @marksimpson4310
    @marksimpson4310 3 года назад

    I watched quite a few videos before I found this gem. Thanks for keeping it simple

  • @ThefamousMrcroissant
    @ThefamousMrcroissant 3 года назад +1

    I'm no Java developer, but I found that most of the OO-related terminology used turn out to be things I'm already familiar and accustomed to but simply didn't know the official descriptions for. This is also by far the best description of either concept I've come across thus far. Wikipedia tends to be way too bloated for me to chew through.

  • @ayoubdkhissi
    @ayoubdkhissi 2 года назад

    this explanation couldn't be better!! thank you

  • @adeizayusuf
    @adeizayusuf 3 года назад

    This is the best video on IOC I've seen on RUclips.

  • @BabaDee08
    @BabaDee08 3 года назад

    This is the best video explanation for IoC, dependency Inversion principle and dependency injection. 👏👏👏✌️

  • @thedeveloper643
    @thedeveloper643 2 года назад

    Perfect explanation for DI!
    Love from South Korea

  • @recepcakir4866
    @recepcakir4866 4 года назад

    This is the best and greatest explanation on all over the internet!! After spending hours trying to learn this s*it I've finally found you. Thanks a lot!!

  • @hervelabrie-durand4574
    @hervelabrie-durand4574 2 года назад

    Good explanation, I did not understand IoC and DI before watching your video!

  • @chaluri
    @chaluri 3 года назад

    Best lecture I seen about this topic.

  • @soumenr2168
    @soumenr2168 Год назад

    This is a great DI explanation with Realtime example !
    Thanks Ryan for sharing a great content.
    🤟❤
    Automatic dependency part is really helpful since it reduces manual dependency injection

  • @j.johnmario8369
    @j.johnmario8369 4 года назад

    The BEST explanation of DI on RUclips

  • @sabita1225
    @sabita1225 4 года назад

    this is so good very clear explanation for IOC and DI, the example is pretty straight forward and simple to understand for beginners with no knowledge of spring, thank you!!

  • @riyanshbiswas
    @riyanshbiswas 3 года назад

    By far the best explanation for IOC and Dependency Injection. All other channels complicate that stuff. Much appreciated. Subbed your channel as well.

  • @randomite
    @randomite 3 года назад

    Good illustration. I liked how the debases are initialized in some global space outside the hand coded application.

  • @harshadmanglani1309
    @harshadmanglani1309 3 года назад

    This was fantastic, the easiest explanation for DI ever!

  • @andysierra5141
    @andysierra5141 2 года назад

    perfectly explained, even for non-english speakers.
    thanks a lot

    • @mohammadyahya78
      @mohammadyahya78 2 года назад

      Yes. I still don't understand how inversion of control makes it easy to unit test the code?

    • @TheSimpleEngineer
      @TheSimpleEngineer  2 года назад

      Think about mocks. You can instantiate objects or call methods by passing in mocks. Without DI, the real implementation would exist within the function (which you may not have in a testing environment!)

  • @tzuyulk
    @tzuyulk 3 года назад

    Thank you! I’m a complete beginner and I was having really hard time understanding what ioc is about. Your explained it so clearly.

    • @kamikaze9785
      @kamikaze9785 3 года назад

      I still don't understand i think i am dumb

  • @talesrodriguesjardim5088
    @talesrodriguesjardim5088 2 года назад

    AMAZING! You just turn my brain to another level. Thanks! and keep doing your videos

  • @lee38xzy
    @lee38xzy 3 года назад

    Awesome! Great explanation in a super short video !!

  • @aditiaggarwal5493
    @aditiaggarwal5493 4 года назад +2

    After spending 1.5 hours on the web, this is by far the most useful explanation of DI and IOC. Thanks a lot! Can you also cover the Java EE vs Spring vs Springboot?

  • @abolfazlamjadi3571
    @abolfazlamjadi3571 3 года назад

    short ,fast and useful . thanks

  • @Rochal147
    @Rochal147 2 года назад

    Thanks to you and your simplest examples to understand this concept.

  • @theUSpopulation
    @theUSpopulation 3 года назад

    Thank you for this! I had to look into these for a job interview and this video is way more comprehensible than my college notes! haha

  • @LimitedWard
    @LimitedWard 4 года назад

    Okay the last part is what clicked for me. I didn't really understand what the advantage was of using a dependency injector library until that example. I've always just been doing it the manual (hard) way and then going through painful refactors.

  • @srch100
    @srch100 4 года назад

    Second time I search for something that leads me to this Channel. Subscribed

  • @BuffaloCanCode
    @BuffaloCanCode 3 года назад

    Nothing can be better than this. As a crash course I used to see this video :D

  • @moisescruz4499
    @moisescruz4499 2 года назад

    The best explanation of these two very important concepts. Thank you Ryan

  • @divyanshverma2424
    @divyanshverma2424 2 года назад

    By far the best explanation. which I was struggling to understand.b Thank you.

  • @jgabrielmiranda
    @jgabrielmiranda 2 года назад

    You did very well in this explanation. Tks! I was reading lots of docs here and you could explain in 10 minuts. (btw, sry about my english, it's not my default language)

  • @TitaniumTronic
    @TitaniumTronic 2 года назад

    Bro thanks, been jumping from explanation to explanation but just cannot fricken comprehend what di or ioc is, I now have an idea thanks to this!

  • @Merserissugoi
    @Merserissugoi 5 лет назад

    ive been looking everywhere to understand this concept. this was so well explained.

  • @janezperme9770
    @janezperme9770 8 месяцев назад

    Short and to the point. 😎 Thanks !

  • @saurabh5392
    @saurabh5392 3 года назад

    Thank you very much! you made it extremely easy to understand.

  • @historyrevealed01
    @historyrevealed01 Год назад

    great video even for 2023 thanks

  • @alexdomenici8503
    @alexdomenici8503 4 года назад +1

    Straight to the point and very well done. You could also post the first 7 minutes (7:05) as a separate video and that will make an excellent introduction to the concepts of IoC and dependency injection, regardless of one's technology of choice. I'm definitely subscribing :)

  • @saisrikar7987
    @saisrikar7987 2 года назад

    Straight to the point and no nonsense :P

  • @j.q.6208
    @j.q.6208 3 года назад

    Awesomely Explained, Thank you!

  • @BlazedOutTurtle
    @BlazedOutTurtle 3 года назад

    I'm currently learning Spring without much direction into why things are done the way they are in the framework, but your 10min video managed to explain a lot of that for me, Thanks !

    • @TitaniumTronic
      @TitaniumTronic 2 года назад

      Hows it going? I'm trying to learn too but havin issues 😭

    • @BlazedOutTurtle
      @BlazedOutTurtle 2 года назад

      @@TitaniumTronic At the time I commented I was just starting my new job, safe to say the best way to learn is by building projects, my learning capacity expanded drastically once I was thrown into building things with deadlines. What are you having issues with ?

  • @Bristerireland
    @Bristerireland 4 года назад +1

    Awesome, thanks! Something went click, finally!!! Been struggling to understand dependency injection and IoC up until now

  • @AB-os3jy
    @AB-os3jy 3 года назад

    best example and explanation I've heard so far. a great vid or series would be to set up a basic program using IoC and Java Spring

  • @babnishvyas6317
    @babnishvyas6317 4 года назад

    Wow what a wrap-up! Explaining beautifully from the beginning and connecting it to Spring seamlessly! Amazing Stuff:D

  • @slobodanbulatovic5300
    @slobodanbulatovic5300 3 года назад

    By far the best use of code to explain this concept! Thank you !

  • @nerminsehic4542
    @nerminsehic4542 2 года назад

    Mind blowing explanation! Thank you so much :)

  • @utsavprabhakar5072
    @utsavprabhakar5072 3 года назад

    Discovered you on 15th Jan 2021. this year will be good, unlike 2020. thanks for the best explanation of DI and IOC

  • @mitchross2852
    @mitchross2852 3 года назад

    Great content. Definitely subscribing. As a experienced dev I just need a quick example to follow to get the idea. A lot easier than trying to read the docs and get the point.

  • @vincentrowold1104
    @vincentrowold1104 4 года назад

    Awesome video. Finally, it makes sense

  • @ewaldschulte6529
    @ewaldschulte6529 Год назад

    Great video, just what I needed in the state i'm in. But I think, watching this video only really helps when you already have an idea of the concepts. That's how it was to me. Before I watched the SOLID principle of Uncle Bob (a really good and entertaining video) but he has a very much more high level approach on it, looking at it from the business side (which we devs like to black out as often as possible :-))))) ), and your video directly afterwards , with this straight to the point and practical approach, was a perfect combination

  • @procrastinator24
    @procrastinator24 2 года назад

    nice and clean explanation! Thank you so much!

  • @matt-g-recovers
    @matt-g-recovers 3 года назад

    Excellent information!
    Thank you so much!

  • @michaelrosenfeld8055
    @michaelrosenfeld8055 2 года назад +1

    Thank you for this, I finally got it.

  • @sneakykk
    @sneakykk 10 месяцев назад

    Thank you so much, although I am working on a nest.js based application, this explanation was generic and I understood it very well.

  • @viewerB007
    @viewerB007 4 года назад

    Lucid explanation . thank you very much.

  • @thyagtubes
    @thyagtubes 4 года назад

    Outstanding explanation!

  • @technovativehub8367
    @technovativehub8367 3 года назад

    Very well explained. Thank you.

  • @thegt
    @thegt 4 года назад

    Beautiful explanation and comfortable demonstration! Thanks!

  • @MohiuddinEbnaKawsar
    @MohiuddinEbnaKawsar Год назад

    very nice clean and simple. good job

  • @aposotlossourgakis8618
    @aposotlossourgakis8618 3 года назад +1

    Perfect explanation! Thank you very much for this!

  • @jongxina3595
    @jongxina3595 2 года назад

    Awesome. Finally a tutorial that makes sense. Thank you!

  • @chrisolivier6415
    @chrisolivier6415 4 года назад +1

    I have to agree with most up top, really well explained, thanks and well done!

  • @aayushsarikhada6
    @aayushsarikhada6 2 года назад +1

    really informative video ryan, but i didnt understood after 8:40 if someone can explain it would be a blessing thank you.

  • @ayoubelhioui2205
    @ayoubelhioui2205 Год назад

    Fantastic explanation, thank you so much.

  • @MrC0pyP4st3
    @MrC0pyP4st3 4 года назад

    You are a fantastic teacher! Hope you return to making videos...wish you all the best!

  • @Nata_web
    @Nata_web 2 года назад

    Thanks.Very clear explanations👍

  • @danmaia575
    @danmaia575 4 года назад

    Awesome video, very well explained. Its always been tricky to understand it but now I do. Thank you!