Dependency Inversion Principle made easy

preview_player
Показать описание
The dependency inversion principle (DIP) is the last one from the #SOLID object oriented design principles and probably the most misunderstood. In this video I try to provide the clearest possible explanation of the DIP focusing on answering just one question: what are we inverting?
#CSharp #DotNet #oops

Contents:
1. Intro: 00:00
2. What are higher or lower level modules? 02:50
3. Where not to apply this principle? 09:35
4. Decoupling through abstractions: 15:45
5. Where do we put the interfaces? 18:40
6. What do we invert? 23:53
7. What has dependency injection to do with all this? 25:45
Рекомендации по теме
Комментарии
Автор

Glad you're still posting, would love to see another big build like the API

RichardJohn
Автор

Really nice video for people who want to delve deeper - going beyond the basic explanations of the DIP which is the phase where I'm in now. Also really cool that you cover relevant "side tracks", such as where the Interface belongs (I noticed many do it wrong with Repository/MVP pattern combinations) and explaining that Dependency Injection is a technique, not a principle.

angel_machariel
Автор

I really appreciate the content you deliver in your channel, Thank you!.

onyekachic
Автор

I've just found your channel and now I have a great many videos to binge. On the topic of DI though, this is one I've always had an issue with. Having the interface defined in the App assembly prevents other applications / projects from using the logging library classes. For me, the ILogger interface should be defined in a separate assembly that is then referenced by both the App assembly and the Logging Library assembly.

JohnOliverAtHome
Автор

Nice one, requirements drive the implementation, not the other way around.

berthos
Автор

Hello there and thank you for all the great work. One questions though..is the interface segregation principle not covered yet ? I was not able to find it anywhere in the videos. Thanks

vladddut_