私は実際の責任とは何かを理解しようとしているので、現在取り組んでいることの例を使用したいと思います。あるシステムから別のシステムに製品情報をインポートするアプリがあります。アプリのユーザーは、一方のシステムの製品フィールドでもう一方のシステムで使用するさまざまな設定を選択できます。
だから私にはProductImporterというクラスがあり、その責任は製品をインポートすることです。このクラスは大きいですが、おそらく大きすぎます。
このクラスのメソッドは複雑で、たとえばgetDescriptionになります。この方法は、単に他のシステムから説明を取得するのではなく、ユーザーが設定したさまざまな設定に基づいて製品の説明を設定します。説明を取得するための設定と新しい方法を追加すると、このクラスが変更される可能性があります。
それで、それは2つの責任ですか?製品を輸入するものと説明を得るものはありますか?私が持っているほとんどすべてのメソッドはそれ自身のクラスにあり、それはやり過ぎのように思えます。
完全に理解するのは難しいので、この原則をよく説明する必要があります。不必要な複雑さは望んでいません。