八葉の日記

日々、感じたことをまとめる場として利用する

SOLID原則:4つ目 インターフェース分離の原則(ISP:Interface Segregation Principle)

〇インターフェース分離の原則(ISP:Interface Segregation Principle)
クライアントにクライアント利用しないメソッドへの依存を強制してはならない

あなたがある機能を実現するモジュールを作成しているとして、そのモジュールが外部に公開しているIFを見るとメソッドが100個以上あって、複数クライアントから利用されているといったことはよくあると思います。
各クライアントはすべてのインターフェースを利用しているわけでなく、自分がほしい機能に関係するインターフェースを利用しているだけなので、機能ごとにインターフェースをグループ化して分けることで、クライアント利用するインターフェースを分離することができます。

こうすることで、クライアントは自分に関係あるインターフェースに対する変更した影響しなくなります。