# 結合度
結合度を低くしましょう。結合度とは、モジュール間の結合の強さを表す度合いです。結合度が低いほど変更の影響範囲が小さくなります。
以下の種類があります。上のものほど弱い結合です。
- メッセージ結合 (Message coupling)
- 引数のないメソッドを呼び出す結合
- データ結合 (Data coupling)
- データを渡してメソッドを呼び出す結合
- スタンプ結合 (Stamp coupling)
- 構造体を渡してメソッドを呼び出し、構造体の一部しか使わない結合
- 制御結合 (Control coupling)
- 処理を制御する情報を渡してメソッドを呼び出す結合
- フラグなど
- 外部結合 (External coupling)
- 外部のデータやプロトコルなどを共有してメソッドを呼び出す結合
- 共通結合 (Common coupling)
- グローバルなデータを共有してメソッドを呼び出す結合
- 内容結合 (Content coupling)
- 内部動作を共有してメソッドを呼び出す結合
- 呼び出し先のモジュールの生成タイミング、処理の内容、内部データなどに依存する
NOTE
結合度を低くする
# 関連
# 凝集度 / コナーセンス
結合度を低くすると凝集度が高くなったりコナーセンスが弱くなったりします。