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

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

Dealing with Generalisation
Extract Interface
リンク先の英語をほぼ理解できなかったのですが、、、雰囲気的に以下のようなことを言っていると思いました。
この技法はコードの重複を排除するようなものではありません。 状況によって役割・振る舞いが違う場合にこの技法は有用です。 (例えば、DB接続する機能があったとして、ローカル環境ではStub、結合テスト環境では実際にDB接続するクラスとして振舞ってほしいような状況のことを言っているのかなと想像しました)
関連するCode Smell