Java言語で学ぶリファクタリング入門のメモ
1章:シンボリック定数によるマジックナンバーの置き換え
stab
2章:制御フラグの削除
3章:アサーションの導入
stab
4章:ヌルオブジェクトの導入
5章:メソッドの抽出
6章:クラスの抽出
7章:クラスによるタイプコードの置き換え
stab
8章:サブクラスによるタイプコードの置き換え
Replace Type Code with Subclasses
- 手順
- タイプコードに対応したサブクラスをつくる
- タイプコードが表すフィールドを直接見せるのではなく、getterメソッドを介して見せる(自己カプセル化フィード)
- タイプコードを元にインスタンスを作っているなら、FactoryMethodをつくる(FactoryMethodによるコンストラクタの置き換え)
- タイプコードの値ごとにサブクラスを作る
- コンパイルしてテストする
- 不要なフィールドを削除する
- タイプコードに対応したサブクラスをつくる
9章:state/strategyによるタイプコードの置き換え
todo
10章:例外によるエラーコードの置き換え
stab
11章:Factory Methodによるコンストラクタの置き換え
- 手順
- FactoryMethodをつくる
- コンストラクタを隠す
- サブクラスによるタイプコードの置き換えを行う
- 広義のFactoryMethod:Creation Method
- 狭義(GoF)のFactoryMethod : FactoryMethod
12章:観察されるデータの複製(モデルとビューが混在していたら)
stab
13章:移譲による継承の置き換え
stab
14章:移譲の隠蔽
- サーバクラスに移譲メソッドを作ることで、移譲しているという関係をクライアントクラスから隠すのが目的
- 移譲の隠蔽:Hide Delegate
- 情報の隠蔽:information hiding
- (情報の隠蔽の逆)仲介人の除去:remove Middle Man
- クラスのインライン化
15章:継承の分割
stab