I am currently reading an otherwise excellent tutorial regarding the Dependency Inversion Principle
https://www.baeldung.com/java-dependency-inversion-principle