設計の原則 単一責任の原則SRP(The Single ResponsibilityPrinciple)クラスは、1つの役割(責任)だけを持つ1つの理由のみによって、クラスが変更される役割を単独でテストできる役割=変更理由=テスト単位凝集(cohesion)と同意凝集とは、モジュールに含まれる要素間の機能的な結び付き原則の適用条件役割の変更が確実に想定される場合理由なく適応すると、「不必要に複雑な設計」となる役割をテストする必要がある場合問題の予兆(もろい設計)ある役割の変更に伴い、本来関係ないと思われる役割のクラスに変更の影響がある独立したテストが困難なクラスがある39