【疎結合】と【密結合】の違いとは?例文付きで使い方や意味をわかりやすく解説
※本記事には広告・プロモーションが含まれています。
疎結合と密結合の分かりやすい違い
疎結合と密結合の違いは、部品どうしの依存の強さにあります。
疎結合は、決められた窓口だけを通してやり取りし、相手の中身には立ち入らない状態です。
密結合は、部品どうしが互いの内部事情まで当てにして、強く依存し合っている状態です。
疎結合とは?
疎結合とは、部品どうしの依存が弱く、決められた窓口を通してだけやり取りする状態のことです。
相手の内部処理を問わず、渡す値と返る値の約束だけを共有する設計に用いられます。
片方を作り替えても、約束さえ守っていれば相手に手を入れずに済むという性質を持ちます。
ただし、窓口を挟むぶん約束事が増え、どこで切り分けるかの見極めが必要になります。
疎結合の例文
- ( 1 ) 各機能を疎結合にすれば、通知の仕組みを入れ替えても本体には手を入れずに済む。
- ( 2 ) 疎結合な設計は単体での試験がしやすく、部品ごとに動きを確かめられる。
- ( 3 ) 疎結合にしすぎると窓口の約束事が増え、かえって全体像がつかみにくくなる。
- ( 4 ) 部品どうしを疎結合にする第一歩は、互いを直接呼び合うのをやめることだ。
疎結合の会話例
レビューで「ここは疎結合にしよう」と言われたのですが、何をすればいいのでしょう。
相手の中身を直接触るのをやめて、決めた窓口だけを通すようにします。
窓口を増やすと、かえって面倒になりませんか。
なります。ですから将来変わりそうな境目だけを疎結合にするのが現実的です。
密結合とは?
密結合とは、部品どうしが互いの内部事情まで当てにして、強く依存し合っている状態のことです。
一方の内部の作りや処理の順序を、もう一方が当てにするような設計に用いられます。
片方を直すともう片方にも影響が及びやすく、全体の見通しがききにくいという性質を持ちます。
ただし、一体で動く小さな範囲であれば、密結合のままの方が処理は素直なこともあります。
密結合の例文
- ( 1 ) 画面と計算処理が密結合になっていて、表示を変えただけで計算まで壊れてしまった。
- ( 2 ) 密結合なコードは、一か所直すたびに影響範囲の調査で半日つぶれる。
- ( 3 ) 二つの機能が密結合のままなので、片方だけを別のサーバーへ移すことができない。
- ( 4 ) 密結合を解きほぐす作業は地味だが、後々の直しやすさに効いてくる。
密結合の会話例
この二つの機能は密結合だと言われました。どこを見てそう判断するのですか。
片方を直したときに、もう片方も必ず直す羽目になるかどうかです。
密結合は、見つけたら必ず直すべきものですか。
いいえ。独立していいはずのものが絡んでいるときだけ、直せば十分です。
疎結合と密結合の違いまとめ
疎結合と密結合の違いは、部品どうしの依存の強さにあります。
密結合は互いの内部事情まで当てにして結びついているのに対し、疎結合は決めた窓口だけでやり取りします。
疎結合は「差し替えやすさ」を重視する設計、密結合は「動作の速さ」を得やすい設計と区別されます。
この記事を含むシリーズ
疎結合と密結合の読み方
- 疎結合(ひらがな):そけつごう
- 疎結合(ローマ字):soketsugou
- 密結合(ひらがな):みつけつごう
- 密結合(ローマ字):mitsuketsugou