「モジュール結合度 内容結合」とは?
「モジュール結合度 内容結合」とは、ソフトウェア設計の基本概念の一つで、モジュール間の結合度を測定する指標の中の一つです。内容結合は、あるモジュールの内部要素が、他のモジュールに直接的に参照される程度を測定する指標であり、強い内容結合は、モジュールの再利用性を損なうことにつながります。
内容結合とは何か?
内容結合は、あるモジュールの内部要素が、他のモジュールに直接的に参照される度合いを指します。例えば、あるモジュールの変数が、別のモジュールから参照される場合、それらのモジュールは内容結合されています。内容結合は、モジュール間の疎結合(loose coupling)を損なうことにつながり、再利用性を低下させる原因になるため、できるだけ避けるべきです。
内容結合を避けるための方法
内容結合を避けるためには、以下のような方法があります。
- 情報隠蔽を実施する
- インタフェースを定義する
- 抽象化を行う
情報隠蔽とは、他のモジュールから直接的にアクセスできないようにすることです。例えば、あるモジュールの変数や関数に、privateという修飾子を付けることで、他のモジュールからのアクセスを制限できます。
インタフェースを定義することで、他のモジュールからのアクセス方法を制御することができます。例えば、あるモジュールが提供する機能について、外部に公開するインタフェースを定義することで、他のモジュールからのアクセスを制御できます。
抽象化を行うことで、具体的な実装の詳細を隠蔽し、他のモジュールからのアクセスを制御することができます。例えば、あるモジュールが他のモジュールから利用される場合、抽象的なインタフェースを提供することで、具体的な実装の詳細を隠蔽できます。
まとめ
「モジュール結合度 内容結合」とは、あるモジュールの内部要素が、他のモジュールに直接的に参照される程度を測定する指標であり、再利用性を損なうことになるため、できるだけ避けるべきです。情報隠蔽、インタフェースの定義、抽象化を行うことで、内容結合を避けることができます。ソフトウェア設計においては、内容結合を避けることで、柔軟性の高い設計を実現することができます。
参考記事
合わせて読みたい
【Google Chrome】右クリックで翻訳がでなくなった時の対策方法の決定版