> 既存のコードの修正したい部分をオーバーライドで
> 変更するようなやり方は、悪い使い方だと思う。
それはまさに差分プログラミングなワケだが、見通しが立つ範囲でやる分には
問題ないと思う。ただ、この「見通しが立つ範囲」ってのが曲者で、改修を
重ねて見通しが悪くなったら、早めにリファクタリングしないと死ぬけど。

実例を挙げると、バイナリフォーマットを解析してメモリに読み込むような
プログラム。最初に作ったバイナリフォーマットに、後にちょっとした拡張
が施された場合(良くある話)、if 文で条件分岐して対応するよりは

1. ファイル解析を strategy パターンを使って書く。
2. 元のファイル解析ルーチンを継承して、拡張フォーマット対応のファイル
解析ルーチンを作る。

とした方が見通しが良くなる。

ある程度ファイルフォーマットの拡張が重なって元のものとかけ離れてきたら、
そこで実装継承をやめて一から書き直し。