SRP が結合を減らすのに役立つすべての可能な方法を把握したいと思います。これまでのところ、次の3つを考えることができます。
1) クラス A に複数の責任がある場合、これらの責任は結合されるため、これらの責任の 1 つを変更すると、A の他の責任も変更する必要がある場合があります。
2) 通常、関連する機能は同じ理由で変更する必要があり、それを 1 つのクラスにグループ化することで、できるだけ少ない場所で変更を加えることができます (せいぜい、これらの機能をグループ化するクラスにのみ変更を加える必要があります)。 )
3) クラス A が 2 つのタスクを実行すると仮定すると (したがって、2 つの理由で変更される可能性があります)、A を使用するクラスの数は、A が 1 つのタスクのみを実行する場合よりも多くなります (理由は、一部のクラスでは最初のタスクを実行するために A が必要であり、他のクラスでは2 番目のタスクに A が必要であり、さらに他の人は両方のタスクにそれを使用します。これは、A が壊れたときに、( A を使用している) 障害のあるクラスの数が、A が 1 つのタスクだけを実行した場合よりも多くなることも意味します。
SRP は、上記以外の方法でカップリングを減らすのにも役立ちますか?
ありがとうございました