Cheers 🥂 0:00. Opening 0:59. Registering controllers 2:43. Registering services 7:18. Implementing what ASP.NET does using the IServiceCollection and the ServiceProvider 09:10. Transient lifetime 11:21. Singleton lifetime 18:38. Scoped lifetime 27:35. Multiple Registrations 30:16. Keyed services 32:44. TryAdd methods 34:20. Service descriptor and the Add method 35:20. TryAddEnumerable
@shahzadahmad-vg2ou10 ай бұрын
Absolutely fantastic tutorial! The depth of explanation is unparalleled. Keep up the great work!
@voidmice166911 ай бұрын
Finally cleared out for me the difference between AddScoped and AddTransient. Thanks! 😊
@martinlabastie351811 ай бұрын
This sereies is amazing, please never stop
@EzequielBinker11 ай бұрын
Excellent video Amichai. You're great!!
@Andy0101011 ай бұрын
Great stuff, tbh you have a good chance to lead the c# and .net learning for us mortals. The more people understand it the more it is used
@naftalyweinberger789210 ай бұрын
thanks amichai, i like when u talk fast, its more easy.
@HackerUC9 ай бұрын
Best explanation I've heard on DI. 👍🏼
@lucaciandrei9 ай бұрын
very clear and concise explanations, congrats and to many more tutorials
@longuinni11 ай бұрын
Really nice introtuction to DI.
@sushilb799411 ай бұрын
Yet another wonderful video from Amichai ❤ thank you…
@Philippe4246011 ай бұрын
Hi Amichai, Thank you very much for this very good introduction to service registration, this will be very useful for my new colleagues. 👍
@greekplayback11 ай бұрын
תודה אלוף
@neroamayo634511 ай бұрын
Great content. Please keep it up.😇😇
@aldkdenedik245111 ай бұрын
Really nice
@vascofernandes619211 ай бұрын
Fantastic video
@AmirHashemZadehАй бұрын
well done dude
@CousinAnthony2 ай бұрын
Great step by step explanation of DI. What guidelines to you use to determine is a class is a "Service" of a "Client"? Is this mostly a convention preference? .
@rosmisha21 сағат бұрын
Great video. But why is it that 90% of the time all the activity occurs in a small part of the image because the explorer is on the left and the file is on the right?
@mckayanderson20469 ай бұрын
So good Amichai! I'll be purchasing your courses and recommending to friends. Have you dug into Microsoft's Semantic Kernel yet? The documentation and current tutorials from the team are really scattered and confusing and I didn't find a single good example of applying good DDD and Clean Architecture. I won't need it by the time you're done, but it might be a good opportunity for you.
@gerardwisse40610 ай бұрын
Another great video. Thx for sharing and keep up the good work. And just out of curiosity, what tool do u use to draw those colorful arrows and rectangles?
@joshmeyers203410 ай бұрын
I always share your videos with my team. So detailed and easy to digest. What kind of annotating tool do you use? I can't find anything remotely like it other than zoomit 🙂
@shayvt10 ай бұрын
Thank you Amichai for another great video. Regarding keyed services - is it ok to use it or is it a code smell? When I have more than one implementation, I usually create a factory class, register the factory and the implementations in the container, get the IEnumerable to the factory, and use the factory to pick the implementation. What do you think? Another thing - do you know if there is an option to register all the implementations of an interface from an assembly? I saw it in other container and I think it could be very useful. תודה 🙂
@alexandernava92759 ай бұрын
I am confused on the lifetime of a single request for scoped. What is that? Like is there a timeout for each "session" on a browser?
@ivandrofly9 ай бұрын
What is the name of the tool that you are using for highlighting and creating arrows? PS: I've been using ZoomIt from Microsoft Sysinternals
@DavidSmith-ef4eh10 ай бұрын
I wish we had such things in PHP. In php di system, everything is just a singleton, had to create my own DI service to be able to have factories/transient services. Maybe in 20 years, php will catch up to this.
@seba12332111 ай бұрын
Can you recommend a solution/library/helper for scenario where you have a lot of classes and corresponding interfaces. Scan of dlls and bulk registration. Registration by conversion: IService1 and Service1. I'm sure that there must be an easy way to do that.
@amantinband11 ай бұрын
I have a video in my backlog on dynamic DI registration using a few different NuGet packages
@iammahie11 ай бұрын
Nice video , can you share the extensions that you use for dotnet development?
@amantinband11 ай бұрын
This is pretty similar to what I’m using today: kzbin.info/www/bejne/o2qrp6Z4ZpKbd9Esi=TKZqbOSktM_Y5FHl
@thijsvandervegt337711 ай бұрын
Hey Amichai 👋 , any chance you're making a Deep Dive course on DDD on Dometrain sometime soon?
@amantinband11 ай бұрын
Working on it as we speak 💪🏼
@allwinantofranklin8959 ай бұрын
Can you share how to implement DI in .NET Framework. It will be very useful for lot of Company who are struck with Framework. I think with using DI in Framework we can refactor the code to match .NET Core style and make the migration process easy... What is your opinion in this?
@parkerwarner868811 ай бұрын
Are keyed services essentially an implementation of the factory pattern or am I misunderstanding that?
@amantinband11 ай бұрын
Not exactly
@parkerwarner868811 ай бұрын
@@amantinband would love to hear more, thanks!
@shayvt11 ай бұрын
Do you prefer vscode over vs or rider?
@amantinband11 ай бұрын
Yep
@az687611 ай бұрын
This video can be defined as a reference to definitively understand dependency injection in c#. Can I ask you what you think about the class constructor in C# defined like this: public class NumbersController(NumberService numberService) { private readonly NumberService numberService = numberService; // also I can add ?? throw new ArgumentNull... ... } Thanks
@amantinband11 ай бұрын
Looks good, but the exception throwing is redundant since the DI container with throw an exception if it cannot resolve a dependency
@az687611 ай бұрын
@@amantinband Thank you
@ygx8305Ай бұрын
Dude slow down a bit. Explain slowly and stop jumping around.