結合度を理解する
結合度はモジュール間の依存の強さを示す。一般に、必要データだけを引数で渡すような弱い結合が望ましく、相手の内部へ直接入り込む依存は避ける。
この単元で学ぶこと
- データ結合の意味と役割を説明できる
- スタンプ結合の意味と役割を説明できる
- 制御結合の意味と役割を説明できる
- モジュール間の情報受渡しから結合度の強弱を判断できる
本文解説
代表例ではデータ結合は弱く、内容結合は非常に強い。共有大域データや制御フラグへの依存も変更影響を広げやすい。
データ結合 必要な単純データを引数として渡す弱い結合。 明確なインタフェースで連携する。
スタンプ結合 複合データ構造全体を渡し、その一部を利用する結合。 不要部分も共有するためデータ結合より依存が強い。
制御結合 呼出し側がフラグ等を渡して相手の処理分岐を制御する結合。 相手内部ロジックへの依存が増える。
共通結合 複数モジュールが共通のグローバルデータを参照する結合。 変更影響が広がりやすい。
内容結合 一方が他方の内部データや処理へ直接依存する強い結合。 独立性が低い。
「何を渡すか」「相手の内部をどこまで知るか」を見る。必要データだけなら弱く、内部へ踏み込むほど強い。
関数へ必要な数値だけ渡すデータ結合は、共有グローバル変数を直接読む共通結合より独立性が高い。
図解
重要ポイント
- データ結合: 必要な単純データを引数として渡す弱い結合。
- スタンプ結合: 複合データ構造全体を渡し、その一部を利用する結合。
- 制御結合: 呼出し側がフラグ等を渡して相手の処理分岐を制御する結合。
- 共通結合: 複数モジュールが共通のグローバルデータを参照する結合。
- 結合度は低いほど一般に望ましく、内容結合は避けるべき強い依存。
間違えやすい点
- データ結合を強い結合と逆に覚えない。
- 構造体全体を渡すことを必要データだけの結合とみなさない。
- 共有変数利用を疎結合と考えない。
用語解説
- データ結合
- 必要な単純データを引数として渡す弱い結合。
- スタンプ結合
- 複合データ構造全体を渡し、その一部を利用する結合。
- 制御結合
- 呼出し側がフラグ等を渡して相手の処理分岐を制御する結合。
- 共通結合
- 複数モジュールが共通のグローバルデータを参照する結合。
- 内容結合
- 一方が他方の内部データや処理へ直接依存する強い結合。
関連教材
参考資料
教材データに登録された参考リンクです。リンク先の内容や更新日は提供元でご確認ください。
確認問題の出題・採点や学習履歴の保存にはログインが必要です。