クラスの求心性結合と遠心性結合の違いは何ですか? 質問する

クラスの求心性結合と遠心性結合の違いは何ですか? 質問する

コード品質測定ツールソナークラスにドリルダウンして以下の数を確認する機能が提供されています。

  1. 求心性(入ってくる)カップリング
  2. 遠心性(発信性)カップリング

これら 2 つのパラメータとは何ですか? 簡単な例で説明していただけますか?

ベストアンサー1

によるとウィキペディア:

求心性結合(Ca):パッケージ内のクラスに依存する他のパッケージ内のクラスの数は、パッケージの責任を示す指標です。求心性 = 着信。

遠心性カップリング(Ce):パッケージ内のクラスが依存する他のパッケージ内のクラスの数は、パッケージの外部性への依存度を示す指標です。遠心性 = 発信性。

したがって、次のような構造のクラス (またはパッケージなど) があるとします。

class Foo {
    Quux q;
}

class Bar {
    Quux q;
}

class Quux {
    // ...
}

そしてFooそれぞれBar1つずつ遠心性のカップリングがあり、Quux2つの求心性のカップリング。

おすすめ記事