DIP
Коротко: Принцип инверсии зависимостей (DIP) гласит: модули верхнего уровня не должны зависеть от модулей нижнего уровня, оба зависят от абстракций.
Подробнее: Буква «D» в SOLID. Зависимости указывают на интерфейсы, а не на конкретные классы.
Подробности
Пример
OrderService использует Storage…
См. также: принципы SOLID, ISP, OCP, интерфейс