Dependency Inversion Principle
Software design principle that advocates for high-level modules to depend on abstractions, rather than on low-level modules, to allow for flexibility, maintainability, and scalability of the system.
EverydayConcepts.io
Reference entry — no illustration yet