Dependency Injection was a mystery for me before this video, and I simply did not know why bother with all the additional code. Thanks man A LOT.
@brudog562 жыл бұрын
Same here! This is the simplest, most concise explanation of DI I’ve come across. I’ve just been assuming DI worked over PFM (as in “Pure F***in’ Magic”) LOL
@yasirhabibkhugiani4 жыл бұрын
I wish all who teaches technical concepts in universities were like you, it would have been so easier. You have amazing ways to deliver a hard concept in a very easy understandable way.
@bogdan.p5 жыл бұрын
Well, after reading docs from Microsoft and asking .NET Developers about how DI works and why I need it I finally understand with your tutorial. Thank you very much for your work!
@abhishekbajpai99204 жыл бұрын
Finally!!! I've understood what Dependency Injection is. Thank you so much, man!!!
@ramzirich2585 Жыл бұрын
I failed my interview because of why we use interface , the interviewer wanted to go so in depth with this question in this video and the previous one I understood why we use interface and and DI thank you very much I searched a lot for this topic but you offer the easiest explanation Thank you from the bottom of my heart
@tetley37373 жыл бұрын
Right to the point, no wasted time bloating the video, just a very clear explanation of DI. Thanks.
@saidrahman59485 жыл бұрын
Simply I wanna say----> I just like it. Thanks a lot...........
@dimasjimenez33965 жыл бұрын
You sir are the goat. The best tutorials no matter the technology. THANK YOU!
@alex_g5 жыл бұрын
Goat? do you know what 'goat' means?
@saivaibhavmedavarapu73835 жыл бұрын
@@alex_g lol
@sherifezzat49835 жыл бұрын
@@alex_g Great Of All Time!! and Yup he is! Thanks so much Sir.
@kunsssssss1134 жыл бұрын
This is the best dot net core tutorial series in the internet
@hollowbyakuya29247 ай бұрын
even though these videos are old the concepts havent changed. absolutely top quality stuff
@adamameen52 жыл бұрын
What a brilliant video.. Great stuff. I judged the video by the thumbnail, and thought it wouldn't be great, but what a great explanation.. 🔥❤ "Never judge a book by it's cover"
@khalidkachachi65953 жыл бұрын
A Very Very good explanation of Dependency Injection in ASP.NET Core, Thnaks man.
@IamSandeepKmr5 жыл бұрын
You are dong a great service to developer community. Your work is admired by everyone across the world. What a presentation! What a control!
@carlosinigo92254 жыл бұрын
I really like your explanation of the logic behind the use of AddSingleton instead of tightly coupling the implementation of IEmployeeRepository. Thank you for the great work! Absolute best!
@NikhilShirgaonkar4 жыл бұрын
Why in the world can't people explain this simple like Venkat does I use to really wonder why for god shake why we need interface when things can be done straight forward UR GOD of programming bro just wonderful
@YahyaKawia Жыл бұрын
Thanks for the explanation on instructor injection. It has helped my understanding of the dependency injection concept.
@mamadoudiallo89882 жыл бұрын
Thanks Kudventkat for your time to sharing this helpful tuto, keep it up i appreciate it a lot
@sam00700700719812 жыл бұрын
Great explanation.. Nobody explains like you . Hats off to you.
@MrRAHUL7777777 Жыл бұрын
Your teaching method is very impressive and doubt clearing
@nirmalasundar26664 жыл бұрын
Best video that I have ever seen🙏 Thanks for all your help🙏❤️
@manjinderbajwa14685 жыл бұрын
Venkat you are a genius when you explain the concepts ..to the point ...thanks dear
@DecentProgrammer3 жыл бұрын
Finally!!! I have understood what DI is. Thanks Sir.
@Csharp-video-tutorialsBlogspot3 жыл бұрын
You are very welcome and thank you very much for taking the time to provide feedback.
@jaheershashaik52703 жыл бұрын
Wow, Simply Wow
@rongliao92554 жыл бұрын
Great tutorial! Clear and concise explanation!
@Csharp-video-tutorialsBlogspot4 жыл бұрын
Hello Rong - Thank you very much for the feedback. Means a lot. I have included all the .NET core tutorial videos, slides and text articles in sequence on the following page. Hope you will find it handy. www.pragimtech.com/courses/asp-net-core-mvc-tutorial-for-beginners/ When you have some time, can you please leave your rating and valuable feedback on the REVIEWS tab. It really helps us. Thank you. Good luck and all the very best with everything you are doing.
@amine-ps2ib4 жыл бұрын
the best tutorial with the best explanation. thank you
@missjude014 жыл бұрын
very well explained, thank you!
@interviewhappy2 жыл бұрын
Ultimate explanation
@afzalbazeer6002 жыл бұрын
The best. Ur explanations are awesome sir.
@IMateme5 жыл бұрын
great great great, and simple , thank you very much
@ArifShaikh-dt3fy4 жыл бұрын
One word 'WOW'. Very well explained.
@PremKumar-kg5ep2 жыл бұрын
Your videos is so great..
@progalion46473 жыл бұрын
WOW , Thank you so much , very useful video
@nikhilkolhe20643 жыл бұрын
First time I understood dependency injection🙏🙏
@gregoryhoward75944 жыл бұрын
GREAT VIDEO!!! I like how you gave a real world example of why this matters rather than assume everyone knows this. It would be so much better if other people would do this with their videos OR explanations on information websites. I will continue to see if you covered the other ways of Dependency Injection. This is good stuff.
@antoniocolombo94142 жыл бұрын
Thanks! That's exacly what I was looking for
@mohdilyas79624 жыл бұрын
Very great explanation, I want such tutorials taking less time to understand as it focuses on the main topic, thanks
@waelmrabet68414 жыл бұрын
Great tutorial bro thx !!
@anvineet4 жыл бұрын
Thanks so much for explaining lot about DI. Its so simple and so deep to understand.
@mrohailiqbal4 жыл бұрын
Very nicely explained. Thanks a lot Sir.
@michaelwassell52873 жыл бұрын
Great video, just what I need for my university project.
@Csharp-video-tutorialsBlogspot3 жыл бұрын
Thank you Michael. Means a lot. If you are planning to become a full stack software engineer, I think the following video will be of some help. kzbin.info/www/bejne/iJqulIZ6l6yJjtk
@anselhobs61113 жыл бұрын
Nice
@santosharakere5 жыл бұрын
Excellent demo of DI, great job. Thanks Venkat.
@Vykhari13 жыл бұрын
Thank you very much Venkat. Your videos are really helpful.
@eduAIJourney3 жыл бұрын
Thank you so much what a excellent explanation
@EriAirlangga5 жыл бұрын
Martin Fowler is a genius living legend. All patterns we know of nowadays stem from his brain
@jatinkumar44102 жыл бұрын
Amazing explanation. Thanks
@fahim86909 ай бұрын
❤❤Great Video Sir
@Fkn14054 жыл бұрын
Almost hit the like button TWICE!!!
@shaimaasayed6971 Жыл бұрын
Thank you so much really helpful
@navyanarayanarao86944 жыл бұрын
Amazing Amazin Amaaaazing!!
@ashokrajur093 жыл бұрын
short and to the point, thanks
@daredevilpantera3 жыл бұрын
Fantastic Video Gentleman
@junaid_aslam3 жыл бұрын
What an amazing explanation. Kudos!
@thetechlancer8 күн бұрын
so to the point ❤
@abdulkadir-lk4xg3 жыл бұрын
Great
@naodagere82104 жыл бұрын
Ur best! marvelous!!!
@dhliu9687 Жыл бұрын
Thanks teacher venkat, check in today !
@VikramSingh-kk1mg4 жыл бұрын
amazingly explained
@gaurravprakash5 жыл бұрын
My question is regarding services.AddSingleton(). How can I add multiple concrete implementations of IEmployeeRepository, and then be able to use one of them at run time depending upon the situation?
@jmurrayhead4 жыл бұрын
Look into the Factory pattern.
@Rafian19249 ай бұрын
Genius ❤
@richardflores85425 жыл бұрын
Thank you! Great video.
@JoseAlvarez-dl3hm4 жыл бұрын
It was really well explained. Although I did not get the difference between singleton, scoped and transient, and when to use one over the others.
@SelmanErhanekici5 жыл бұрын
You're doing great job.
@SilverMan935 жыл бұрын
You make it so easy to understand, thank you sir
@kelumedirisinghe17353 жыл бұрын
well explained!
@aaronaaronaaron59225 жыл бұрын
I like this enjoyable videos a lot!!
@hadisandid46714 жыл бұрын
Great explanation, thank you
@leonvanrijswijk84095 жыл бұрын
I really love your videos, but not this one. For me it was very confusing. Maybe a slide with a diagram of dependencies would have helped to make it clearer
@karimkazia5 жыл бұрын
Awesome Thank you!!
@davidfong76243 жыл бұрын
Subscribed!
@AAFactor5 жыл бұрын
Awesome bro ... just awesome :)
@nisarahmad33705 жыл бұрын
Dear sir, kindly make a tutorial for generic repository and unit of work. We are badly missing it. Thanks
@trustingod03 жыл бұрын
If you search around there are many more thorough tutorials available. If you notice his videos are short and "Sweet". There are many instructor led tutorials that do a far better job than Kudvenkat. He may be good at teaching things via his steps approach which shows you what to do in theory but you might be missing the bigger picture in the application of dependency injection via SOA.
@ozimax065 жыл бұрын
what is the point of using Interface for Repositories and creating mock objects while you can create an in-memory database of DB context and passing directly to classes for unit testing? That's one of the features of .NET core
@honeytrippers5 жыл бұрын
The "Previous" and "Next" video links are wrong pointing to video 17 and 18 ...and a bit quick for a complex concept
@sumersinghrana88685 жыл бұрын
Nice explain.
@haziqt4 жыл бұрын
Love it
@ayedabboushi72215 жыл бұрын
very cleared, thank you venkat
@manishakharade61984 жыл бұрын
Thanks a lot...
@RaviBedre904 жыл бұрын
Nice tutorial.....Is there any other way to register the service except to use the extension method????
@Krranganathakr4 жыл бұрын
Hi Sir , one question here , As i have just one implementation here , but in reality i may implement 2 class with same interface utilization , now if i mentioned in start up file service.addsingleton and service.addsingleton, in this case what will happen . Please suggest .Thanks for your all videos , I really enjoying while learning with your videos .
@ianmohlie4 жыл бұрын
Great video, thanks. I might be confused about the different methods of DI (eg what you did here vs using Autofac). Question: Do you always have to register your interfaces in Startup? I watched another video where he didn't have to use Startup to tell Visual Studio which implementing class to use - he simply passed that class as an input when calling the method ("C# Dependency Injection Constructor" by Theenk, specifically 14:09-14:40). Can you please explain to me the difference in your two approaches? Also: - are "interfaces" synonymous with "services"? (see your video at 3:15) - is "registering" the same as "binding"?
@pavankogpayana5 жыл бұрын
you make it so easy to understand concepts,why so fast sir?
@DecentProgrammer3 жыл бұрын
Thank sir
@somnathsharma99793 жыл бұрын
But in what scenario where we need to change mockrepository class to sqlrepository class implementation as you mentioned in video
@bhadrik3 жыл бұрын
👍👍👍👍👍👍
@patelabhay12673 жыл бұрын
Can you please add a video which shows Multiple implementations for Dependency Injection like in the current video (Part 19) you show one implementation for MockEmployeeRepository, how to manage if in future we have other implementation for IEmployeeRepository?
@microtech24485 жыл бұрын
Nice, much clearer now. One question though, can you please tell us if this is possible to register multiple implementations of same interface using DI and selectively use one at constructor level or method or property level as required.
@amineherizi46875 жыл бұрын
No you can't must have for each interface one implementation otherwise the DI engine can't decide which one to use
@microtech24485 жыл бұрын
@@amineherizi4687 How would you inject dependencies in tutorial example, IEmployee, PermanentEmployee, ContractEmployee
@microtech24485 жыл бұрын
@venkat, can you please explain how to inject multiple implementations of same interface otherwise if it is not possible doing so then what is use of interfaces and multiple classes inheriting same interface
@sandeepbrk5 жыл бұрын
You can use IEnumerable collection and linq for that. Inbuilt dependency injection is not supporting multiple classes from single interface. Below is the code sample. Services : public interface ITest { void writeMsg(string t); } class ATest : ITest { public void writeMsg(string t) { Console.WriteLine(t + "A"); } } class BTest : ITest { public void writeMsg(string t) { Console.WriteLine(t + "B"); } } Getting particular service through controller injection : ITest _itest; private readonly IEnumerable _itests; public HomeController(IEnumerable itestList) { _itests = itestList; _itest = _itests.First(o => o.GetType() == typeof(BTest)); } Here you can get the instance of BTest class. Hope this helps.
@sergiocorrenti5 жыл бұрын
thank you idol
@MsAlexandr76 Жыл бұрын
Part 44 (from 8:33) of this Tutorial discussed about these 3 methods in details
@tamaradmoni16115 жыл бұрын
Thank you for this great tutorial! Is there a place we can ask questions about the tutorial?
@Csharp-video-tutorialsBlogspot5 жыл бұрын
Hello Tamar - Please ask your question on the respective video as a comment. Hope this helps.
@ultrahyena30135 жыл бұрын
@@Csharp-video-tutorialsBlogspot I'm wondering if what he really means is, have you ever thought about actually answering people's questions?
@Leon-kd2ih Жыл бұрын
can someone please explain to me how would I create an instance of HomeController? As I understand the DI Container will handle the dependency injection.
@trustingod03 жыл бұрын
Can I use a repository pattern with .Net Core Entity framework so that I can switch out implementations? For example lets say I want to use a class like MockEmployeeRepository for testing but I also want the flexibility to use a SQL Server data store. Thanks !!!
@meeramaahidoshi12073 жыл бұрын
i am not getting the output marry instead still getting hello world with version 3 above. what would be the problem?
@reyneermorales61233 жыл бұрын
What if I want to use a class library? a class library does not include the startup.cs class.
@ravivishwakarma7786 Жыл бұрын
How does the call parameterize the constructor 0.12
@richardprakash46304 жыл бұрын
how to handle DI if there are multiple implementation of the interface and want to use both??
@AB-fs8jl5 жыл бұрын
If you even see this: Getting an error on the line public HomeController(IEmployeeRepository employeeRepository) Error message: inconsistent accessibility: parameter type 'IEmployeeRepository' is less accessible than method 'HomeController.HomeController(IEmployeeRepository)'
@dejanradojevic32975 жыл бұрын
You need add public access modifier in front of interface IEmployeeRepository.
@harishsalapu89684 жыл бұрын
Even after adding public access modifier we r facing that error. Kindly help if anyone knows
@phanidivi36135 жыл бұрын
Simply supb venkat sirrrrrr......
@ymtan5 жыл бұрын
I am not able to understand the concept of ASP.NET Core Dependency Injection. Could you kindly please explain the following code block because I don't understand the code ? public class HomeController : Controller { private IEmployeeRepository _employeeRepository; public HomeController(IEmployeeRepository employeeRepository) { _employeeRepository = employeeRepository; } public string Index() { return _employeeRepository.GetEmployee(1).Name; } }
@phanidivi36135 жыл бұрын
@@ymtan Creating a object of dependent class with out using new keyword called Dependency injection.In our code accessing a concurrent class is MockEmployeeRepository (dependent class) in HomeController class need to create object. Whenever we are creating the object using new keyword,both the class are tightly coupled.So main concept of DP is loosely coupled.The solution is to pass dependent class or interface instance variable as a parameter to a home controller constructor.
@phanidivi36135 жыл бұрын
In this video venkat sir explain very clearly,by changing the depend class constructor,immediately home controller getting an error.So by passing dependent class or interface instance,the error was gone.
@phanidivi36135 жыл бұрын
I have understand this only.Please correct if am wrong.
@phanidivi36135 жыл бұрын
@@ymtan Previously,we are using third party tools like unity.mvc5 to providing and resolve the errors in DP .
@klearner666 Жыл бұрын
What if don't inject and when we need to change MockEmpRep() to SqlEmpRep() type we just changed the code inside the mock and as a result only one place needed to changed.? Please someone clarify me this.
@1Eagler2 жыл бұрын
Great playlist - too bad it;s for V2.2
@TheSree91205 жыл бұрын
one doubt sir, If two classes implementing the same interface and having the same method, then if i call the method with that interface, which class method will be called?
@Kobriks15 жыл бұрын
The one which is registered in ConfigureServices. If you try to register both you will get an error.
@sandeepbrk5 жыл бұрын
You can use IEnumerable collection and linq for that. Inbuilt dependency injection is not supporting multiple classes from single interface. Below is the code sample. Services : public interface ITest { void writeMsg(string t); } class ATest : ITest { public void writeMsg(string t) { Console.WriteLine(t + "A"); } } class BTest : ITest { public void writeMsg(string t) { Console.WriteLine(t + "B"); } } Getting particular service through controller injection : ITest _itest; private readonly IEnumerable _itests; public HomeController(IEnumerable itestList) { _itests = itestList; _itest = _itests.First(o => o.GetType() == typeof(BTest)); } Here you can get the instance of BTest class. Hope this helps.
@anuyajoshi43604 жыл бұрын
Thank you for questions and shared relevant answers. They all help to improve.