質問: どこでもインターフェース? - ベストプラクティス OOPでインターフェースを正しく使用することについて、作業中の議論があります。私は、インターフェースは具体化の前にあり、すべてのメソッドは契約を扱うべきであると教えられ、そして常に前提から働きました。これは101とデカップリングしています。 私はこのパターンを適用することで普遍的にジュニアの開発者にロープを教え、成功への道を切り開いてくれました(「おお、これは密接に結びついています。私はこれを使うことができません!」)。 。我々は常に、常に契約を扱うことを理解するのは簡単です(そして価値があります)。 もう1人の仲間は、抽象化は複数の実装がある場合にのみ適用されるべきであり、それを常に行うことはチームを混乱させるものになると言っています。私にとっては、私は気にしません; D最初は混乱するだけで、すぐに2番目の性質になります。 しかし、私は手を差し伸べて、誰かがなぜそうでないのかを説明するいくつかの参考文献/専門家のテキストを提供できるかどうかを見たかったのです。
回答: デカップリングはそれ自体では良いことではありません。それはあなたがそれを必要とするところでは良いことであり、他の至る所では悪いことです。あなたが高い凝集性があるべきである場所でインターフェースを使っているならば、あなたはそれを間違ってやっています。 すべてのインターフェースにはコストと価値があります。それを考慮していないし、盲目的にどこにでも作成しているのであれば、単純に間違っています。