リファクタリング技法
ここではCode Smellを解消するために参考となるリファクタリング技法や、その他参考になりそうな概念を紹介していこうと思います。
リファクタリングに関してはこの辺りの書籍が参考になると思います。
リファクタリング第2版

レガシーコード改善ガイド

関連するリファクタリング技法
Moving Features between Objects
Moving Features between Objects
Hide Delegate
オブジェクトAを介してオブジェクトBを取得したのち、オブジェクトBのメソッドを呼び出しているような場合、クラスAに新しいメソッドを追加し、そのメソッドがオブジェクトBのメソッドを呼び出すような形にしましょう(=委譲(delegate))。こうすることで、クライアントはオブジェクトBの詳細について知る必要がなくなり、依存性を排除できます。
AとBは下の図でいうと、
- A:Person
- B:Department
【リファクタリング前】
このページより抜粋
【リファクタリング後】
このページより抜粋
関連するCode Smell