Single Responsibility Principle
ひとつのモジュールは「変更すべき理由」をただひとつだけ持つべき、という原理
モジュール分割をするときの指針となる原理
SRPに従うならば「変更すべき理由」が異なる場合、たとえ同じコードであっても共通化できない
"A module should have one, and only one, actor"
actor は、そのソフトウェアが満たすべきビジネス要件を持っているユーザーやステークホルダーを指す
例: Employee
クラス
経理チームは Employee
に対して賃金を計算したい
労務チームは Employee
に対して労働時間を計算したい
技術チームは Employee
に対してデータベースへの永続化を行いたい
このとき、 Employee
は3つの actor を持つので、3つのクラスに分解すべき