Introduced by [[robert-c.-martin|Robert C]] in [The Dependency Inversion Principle (web.archive.org)](https://web.archive.org/web/20041221102842/www.objectmentor.com/resources/articles/dip.pdf)
>1. High-level modules should not depend on low-level modules. Both should depend on abstractions.
>2. Abstractions should not depend on details. Instead, details should depend on abstractions
^cb7cf9