オブジェクト指向のプログラマーとして私のすべてのヘックルを育てたレガシーコードが出てきました。インターフェイスの実装は独立していなければなりません
よく使用されるパターンは次のとおりです。 インターフェイスには2つの実装があり、1つの実装ではもう一方のメソッドが呼び出されます。
ここで、実装が互いに知り合わないようにリファクタリングする必要があると思います。どのようにそれを行うのは簡単です。私が明確に理解できないもの - &だから、善良な人々が私を助けてくれることを望んでいるのはなぜ?
私は理論上の理由を見ることができます - それはひどいオブジェクト指向設計です。しかし私はここで悪魔の主唱者を演じて、お互いに知識を持っている2つの実装の実際的な欠点は何かを尋ねています。なぜ時間が&お金がこの(私の心の中で)反パターンを取り除くために費やされるべきですか?
これに関する情報やリンクは高く評価されます。
ですね http://en.wikipedia.org/wiki/Proxy_pattern
希望を見つけたと思います。互換性の理由から、インターフェイスを変更するだけではできません。あなたはすべてのクライアントを破ります。したがって、新しいメンバーを追加してインターフェイスの新しいバージョンを作成し、元のインターフェイスメソッドを順番に呼び出して、元のインターフェイスをすべて複製します。それを行う最善の方法ではないかもしれませんが、それは方法であり、それは好都合であるという美徳を持っています。 –
良い質問ですが、本当にSOの形式には属していないようです - これは間違いなく意見の勧誘であり、私はこれらの意見のいくつかを見たいと思っています。 –
「それはひどいオブジェクト指向設計です」とは、(理論的には、それが意味するものであれ)それを取り除く理由ではなく、裏付けのない包括的なステートメントです。 – delnan