Dependency Injection & Inversion of Control

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

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

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

    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 5 лет назад

      too fast, 40% not clear

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

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

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

    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 лет назад +38

    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!

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

    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.

  • @Shemang
    @Shemang 4 месяца назад +1

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

  • @ceki9900
    @ceki9900 3 года назад +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.

  • @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.

  • @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!

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

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

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

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

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

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

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

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

  • @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.

  • @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

  • @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!

  • @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!

  • @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

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

    I've been searching & watching videos about DI. This is the best so far!!!? You've got a gift of teaching!!! Thank you very much!!!

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

    Been watching videos about dependency injection for the last few days and I never quite understood it like you just explained. I'm really glad RUclips algorithm listens to my wants. You just earned a sub

  • @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.

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

    thanks for showing the problem with constructor injection. 😊

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

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

  • @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.

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

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

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

    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.

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

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

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

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

  • @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!

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

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

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

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

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

    Perfect explanation for DI!
    Love from South Korea

  • @yoshihitotuba
    @yoshihitotuba 5 лет назад +49

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

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

    Watching this 5 years later, still a fantastic video

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

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

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

    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.

  • @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.

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

    The BEST explanation of DI on RUclips

  • @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

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

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

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

    Lucky to find this video, whenever I need to revise DI, IoC I prefer this one, it's simple, crisp, and clear. Thanks a lot :)

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

    What an amazing and clarifying explanation. Thanks you all so much!

  • @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!!

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

    Very nice! Keeping it simple.
    I've watched multiple videos on the subject, but your explanation condensed the answer to "why", which helped me a lot to start using the principle in practice, so thanks a ton!

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

    This was fantastic, the easiest explanation for DI ever!

  • @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

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

    holy shit. I have not found such a good explanation of this concept on youtube. I have given up on those 2 hour tutorials, i just needed a high level explanation. This should've have more views!

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

    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.

  • @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

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

    Best lecture I seen about this topic.

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

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

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

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

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

    I love the lamp analogy. I am stealing it.

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

    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 ?

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

    this explanation couldn't be better!! thank you

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

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

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

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

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

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

  • @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?

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

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

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

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

  • @alexdomenici8503
    @alexdomenici8503 5 лет назад +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 :)

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

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

  • @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

  • @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.

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

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

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

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

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

    Straight to the point and no nonsense :P

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

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

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

    Beautiful explanation and comfortable demonstration! Thanks!

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

    short ,fast and useful . thanks

  • @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!)

  • @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

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

    Awesome! Great explanation in a super short video !!

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

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

  • @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

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

    Outstanding explanation!

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

    good explanation again!
    Next time it would be great if you can make the font of the code bigger. On a phone it is pretty difficult to read.

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

      Good feedback , thanks!

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

      @@TheSimpleEngineer Font size was fine for me. I'm not going to watch this on my phone, I need to have VS next to me to practice.

  • @古金禾
    @古金禾 5 лет назад

    Really good explanation! Base on the problems that we met in actually programming, and then show how IoC solve these problems. Very easy to understand ioc from your tutorial

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

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

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

    Short and to the point. 😎 Thanks !

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

    Perfect explanation! Thank you very much for this!

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

    Awesome video. Finally, it makes sense

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

    Great video man! These are confusing concepts, which you were able to put in a simple way! Thanks for sharing!

  • @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

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

    Fantastic! Now I really got a clear picture of why this principal/design is needed!

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

    This explanation is amazing!

  • @chrisolivier6415
    @chrisolivier6415 5 лет назад +1

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

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

    Best and concise information 🔥

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

    This is gold!!. Thanks for explayning the whole idea behind it and not sticking to a concrete technology.
    Now is there a difference, in sprong boot, from using autormwired annotation instead of cusctruction injection?

  • @achrafelkhandouli
    @achrafelkhandouli 5 лет назад +1

    this decreased the confusion in my head, thank you!

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

    Awesomely Explained, Thank you!

  • @ChaseBledsoe-z5r
    @ChaseBledsoe-z5r 10 месяцев назад

    Fantastic video, very well done

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

    Mind blowing explanation! Thank you so much :)

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

    I've been trying to understand DI/IoC process for weeks now, I understood its purpose at a high level, but it wasn't until now that I caught the missing element.
    Specifically, creating "public interface IDatabase" (instead of "public class IDatabase"), then creating different classes that inherit from IDatabase (ex: "MySql : IDatabase") and using IDatabase parameters when defining code.
    Then, if you decide to change from MySql to SQL, you create a class that inherits from IDatabase, and within your Main function, you replace the MySql variable with a SQL variable which will populate down into any functions taking it as a paramter.
    Thank you!

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

    This was really well done and helpful. Thank you.