2

クラスがインターフェイスを介して他の複数のクラスに依存している場合、それはSRPの違反ですか、それとも両方のインターフェイスが変更されると予想される場合の違反だけですか、それともこれはまったく間違った考え方ですか?

4

3 に答える 3

6

SRP は原則として、クラスが持つ可能性のある依存関係の種類と数に対して完全に直交しています。

クラスは単一の責任を持つことができますが、その責任を実行するのが複雑な場合、単純な作業を処理する「下請け業者」に多くの依存関係がある可能性があります。本質的に、あなたの唯一の責任は「Xが起こるようにこれらの人々を調整する」ことです.

于 2013-03-01T14:29:59.353 に答える
0

必ずしも。クラスは 1 つの責任を持ちますが、複数の依存関係を持つことができます。複数の依存関係を持つことは、多くの場合クラスが多くのことを行っていることを示していますが、それを証明するものではありません。

于 2013-03-01T14:31:05.753 に答える
0

クラスがそれらの依存インターフェースでメソッドを呼び出すだけの場合、それは SRP の違反にはなりません。これは、さまざまなコンポーネントでさまざまなメソッドを呼び出すプロセスを調整しているためです。それが責任になります。

特定のコンテキストなしで正確な答えを提供することは困難ですが、簡単に言えば、複数のインターフェイスとの依存関係を持つことは、SRP 自体の違反ではありません。

于 2013-03-01T14:31:18.323 に答える