オブジェクト指向の目的をコードの共通化と定式化すること自体に問題がある。オブジェクト指向はコードベースを整理しやすい形でモジュール化する手法の一つであって、結果としてコードの共通化になることは多いが、コードの共通化それ自体を一次的な目的としているわけではない。
コードの共通化をオブジェクト指向の目的として強調するのは、ひと昔ふた昔前に流行った、継承と多相性がオブジェクト指向の本質であるという考え方そのものでしょ。このスレには、クラスをインターフェイスに差し替えた上でなら、継承と多相性がオブジェクト指向の本質であるという考え方を維持できると考えている手合いが居るが、「継承より合成」等の標語で批判対象にされている継承にはインターフェイスの継承・実装も含まれているという認識が不足している。インターフェイスを作ってサブタイピング多相をやっておけば万事解決というような単純な問題ではない。