私は同僚からデザインに反対されており、この場合のSRPの適用について誰が正しいかについてコンセンサスがあるかどうか疑問に思っています。
SRPは、主にクラスの責任など、設計の下位レベルの詳細に関連していると思います。抽象化のレベルが上がるにつれて、SRPは依然として適切であると思いますが、単一の責任の定義も必然的に、より高いレベルの抽象化に向かって移動します。
私の特定のケースでは、「fooを処理し、その結果を保存し、それらの結果へのアクセスを提供する」サービスは、「foo処理サブシステム」の単一責任を負っていますが、同僚はこれに同意せず、これを2〜3個の別個のものと見なしています。責任。私の場合、あなたが常に単一の責任を詳細に分解する場合、「銀行」を持つことは「お金を保持し、口座を維持し、住宅ローンを販売する...」ので、SRPの違反です。