メソッドの引き下げ【リファクタリング】
状況
- スーパークラスの振る舞いが、いくつかのサブクラスだけに関係している
対処
- 対象のメソッドをサブクラスに移動する
メリット
- クラスの責務が明確になる
手順
スーパークラスの全てのサブクラスで当該のメソッドを宣言し、そこにメソッドをコピーする
スーパークラスのメソッドを削除する
コンパイルしてテストする
不必要なサブクラスから、そのメソッドを削除する
元のパラメータを削除するたびにコンパイルしてテストする。これを全てのパラメータを削除するまで行う
コンパイルしてテストする
楽天ブックス: リファクタリング新装版 - 既存のコードを安全に改善する - マーチン・ファウラー - 9784274050190 : 本