The Dependency Inversion Principle relates to the stability and reusability of higher-level components within an application. The principle states:A. High-level modules should not depend on low-level modules. Both should depend on abstractions.B. Abstractions should not depend upon details. Details should depend upon abstractions.Read more here.