まず第一に、一般的に、独断的にならないことは良い考えです。
次のように考えてみてください。家を建てるとき、使用する釘を 1 種類に決めるべきではありません。すべての釘を使用することはできません。必要なときに、特定のニーズと材料に最も適した種類を選択できます。
したがって、インターフェイスをいつどのように使用するかは、クラスの型、構造、および使用目的に完全に依存します。クラスごとに常に 1 つのインターフェイスを使用する必要はありません。特に、SRP を重視し、クラスを小さくして単一の責任に制限する場合はそうではありません。しかし、そうしたい場合もあれば、同じクラスに複数のインターフェースを実装する正当な理由が見つかる場合もあります。
インターフェイスに関する重要な点は、実装の数に関係なく、インターフェイスを使用して特定の実装から抽象化することです。これを行う理由はたくさん考えられます。たとえば、他の誰かにインスタンス化を処理させたり (アプリケーション サーバーなど。このアプローチはフレームワークでよく使用されます)、依存関係管理を改善するためにコンポーネントを切り離したり、単体テストを忘れないようにするためです (コードがインターフェイスへの参照のみを持っている場合、オブジェクトをモックする方がはるかに簡単です) など。API が実装される回数に基づいて決定する必要はありませんが、コードを維持するための最良の方法を選択する必要があります。きれいに構造化され、疎結合で読みやすい。
何をすべきかを決めるには、あなたが建てている家についてもっと学ぶことから始めましょう: SOLID の原則を確認し、それらをうまく適用してみてください。抽象化とインターフェース、およびそれらを何に使用すべきかについて、より多くのことを知ることができます。彼らもすべてに対する答えを持っているわけではありませんが、そこから先は、彼らがカバーしていないものに対処するために、独自の観察を開始し、おそらく独自の原則を発明することができます. 彼らは間違いなく始めるのに良い場所です.