In this episode we cover the dependency inversion principle, which states that high level components should not depend on low level components, but instead they both should depend on abstractions. We will look at two examples of this and leverage dependency injection to decouple classes from concrete dependencies.
Episode Links Dependency Inversion Principle The first example in this screencast was taken from Agile Principles, Patterns, and Practices in C#, which is a great resource for learning more about software design. Don't let the C# scare you away, as the concepts are mostly applicable to any object oriented language.