※個人的なメモ
凝集度(cohesion)とは?
・高凝集(凝集度が高い)とは、機能がまとまっており一貫性があることを意味する。
・低凝集(凝集度が低い)とは、その逆に機能がまとまっていない。
結合度(coupling)とは?
あるモジュールが他のモジュールにどれだけ結合/依存しているかを表す。
モジュールは低結合/疎結合であるほど変更に強い。
疑問1.低凝集であれば結合度が高いか?
低凝集な設計は、他モジュールとの依存関係が複雑になりやすいため、結果として結合度が高くなる傾向があります。ただし、凝集度と結合度は異なる対象を評価する独立した概念であり、常に連動しない。
ソフトウェアの設計においては高凝集✕低結合な設計が求められる。
高凝集=モジュール内部が一貫性ある責務でまとまっている。
低結合=あるモジュールが他のモジュールに依存しない、
コメント