Efferent coupling とは

エフェレントカップリングはソフトウェア開発のメトリックです。それは、クラスが知っているデータ型の数を測定します。
これには、継承、インタフェース実装、パラメータ型、変数型、および例外が含まれます。
これはRobert C. Martinによってファンアウト安定性メトリックとも呼ばれ、彼の著書「Clean Architecture」では「Outgoing dependencies」として記述されています。このメトリックは、コンポーネント外のクラスに依存するこのコンポーネント内のクラスの数を示します。
このメトリックは、I =ファンアウト/(ファンイン+ファンアウト)のように、ソフトウェアアーキテクチャにおけるコンポーネントの不安定性を計算するためによく使用されます。このメトリックの範囲は[0,1]です。 I = 0は最大限安定であり、I = 1は最大限に不安定である。