依存性の逆転
インターフェース
に依存することでインフラ(低レイヤー)側に依存しなくする手法
DBからのselectをquery()みたいな抽象度高い関数のインターフェースに替え、そのロジックを使う側から実装を注入するみたいな感じ