SOLID
There should never be more than one reason for a class to change.(→変更するための理由が、一つのクラスに対して一つ以上あってはならない)
これは、every class should have only one responsibility.(→各クラスはそれぞれ一つだけの責務を持つべきである)とも言い換えられる。ここでの責務とは提供機能と同義である。この原則は、clientに特定の機能を提供する役割(role)役者(actor)としてのserviceのクラスに焦点を当てている。
この原則下のserviceは、それぞれ一つの機能または一つの役割しか持てない。この原則下のclientは、機能別に担当serviceを変更することになる。