Dependency Inversion Principle made easy

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