コンポーネントの抽象度は、その安定度と同等でなければいけない。
- 安定度と抽象度の関係についての原則。
- 安定度の高いコンポーネントは抽象度も高くあるべきで、安定度の高さが拡張の妨げになってはいけない。
- 安定度の低いコンポーネントは具体的なものであるべき。
- 安定度が低いことによって、その内部の具体的なコードを変更しやすくなる。
- コンポーネントの安定度を高くしようと思えば、拡張できるようにインターフェイスと抽象クラスで構成するべき。
- 安定度が高くしようと思えば、拡張できるようにインターフェイスと抽象クラスで構成するべき。
- 安定度・抽象度等価の原則(SAP) + 安定依存の原則(SDP) = コンポーネント版の依存かんけい逆転の原則(DIP)に相当。
- 安定度と抽象度は連動するもの。
抽象度の測定
コンポーネントの抽象度を表す指標 A。
Nc- コンポーネント内のクラスの総数
Na- コンポーネント内の抽象クラスとインターフェースの総数
A- 抽象度
A = Na ÷ Nc
