Dependency Inversion Principle
Weekly Dev Tips - A podcast by Steve Smith (@ardalis)
The Dependency Inversion principle is one of the SOLID principles of OOP and is very useful for reducing tight coupling between modules in C# and Java applications.