リファクタリング:フィールドによるサブクラスの置き換え

定数データを返すメソッドだけが異なるサブクラスがある場合、
そのメソッドをサブクラスのフィールドに変更して、サブクラスを削除します。

コンスタントメソッドは有効ですが、それだけしかないサブクラスは、存在価値があるとは言えません。
こうしたサブクラスは、そのスーパークラスにフィールドを置くことで、完全に削除できます。
これにより、サブクラスによる余計な複雑さを排除できます。
リファクタリング前
replace_subclass_with_fields_1.png
リファクタリング後
replace_subclass_with_fields_2.png
リファクタリング―プログラムの体質改善テクニック (Object Technology Series)

Comment

Comment Form
公開設定

Trackback


→ この記事にトラックバックする(FC2ブログユーザー)
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。