パッケージ結合原則
最後ー。
ADP・SDP・SAPの3つ
- ADP:非循環依存関係の原則
パッケージの依存関係は循環してはならない。
既存の循環関係を断つには、
適切なパッケージ内のクラスにDIPを用いて依存関係を反転させるか、
新たにパッケージを追加し、循環の原因となっているクラスをそのパッケージに移動する。
パッケージ構造はシステムの変化に伴い成長する。
- SDP:安定依存の原則
安定する方向に依存すべきである。
内側結合度Ca = このパッケージ内のクラスに依存するクラス数
外側結合度Ce = パッケージ外のクラスに依存するパッケージ内のクラス数
不安定度I = Ce / (Ca + Ce)
安定している:Iが小さい
あるパッケージの不安定度は、そのパッケージが依存するパッケージの不安定度よりも大きくなるべきである。
依存されるパッケージは、それに依存するパッケージよりも安定しているべきである。
変更が容易なパッケージは、安定したパッケージに依存されてはならない。
このに反する依存関係を改善するには、DIPを用いて依存関係を反転させる。
- SAP:安定度・抽象度等価の原則
パッケージの抽象度と安定度は同程度でなければならない。
しかし、抽象度が低く安定度が高くても、変更されにくければよい。
これと対称の、抽象度が高く安定度が低いパッケージは役に立たない。(利用者が拡張して用いる場合を除く)
抽象度A = パッケージ内の抽象クラス数 / パッケージ内のクラス数
正規化された主系列からの距離D' = |A + I - 1|
D'が小さいほどこの原則に則っている。
参考:
- 作者: ロバート・C・マーチン,瀬谷啓介
- 出版社/メーカー: ソフトバンククリエイティブ
- 発売日: 2004/06/30
- メディア: 単行本
- 購入: 3人 クリック: 235回
- この商品を含むブログ (144件) を見る
いい本だ。
ちょいと高いが。