技術向上

プログラミングの学び、気になるテクノロジーやビジネストレンドを発信

インターフェースの抽出【リファクタリング】

状況

  • 複数のクライアントが、あるクラスの一部の機能を使っている


対処

  • 共通部分をインターフェースとして抽出する


メリット

  • 各クライアント(関数など)がどの機能を必要としているのかが明確になる

  • 別の機能を持たせた異なる種類のクライアントを作成するときに、インターフェースを実装するだけでよくなる。これによって、共通部分の修正にかかるコストが圧倒的に少なくなる


手順

  • 空のインターフェースを作成する

  • 共通部分をそのインターフェースに宣言する

  • 関係するクラスで、そのインターフェースの実装を宣言する

  • クライアントの型宣言を、そのインターフェースを使うように修正する


楽天ブックス: リファクタリング新装版 - 既存のコードを安全に改善する - マーチン・ファウラー - 9784274050190 : 本