CBO coupling between object

Abdelaziz Dabebi picture Abdelaziz Dabebi · Dec 17, 2014 · Viewed 13.3k times · Source

I don't understand what "CBO-Coupling between object classes" really means. The definition I found is so short that I think I'm missing something, so it would be great if you help me with an example.

Here is the definition I found: "The coupling between object classes is a count of the number of other classes to which it is coupled."

Thanks in advance.

Answer

Ken Hall picture Ken Hall · Apr 26, 2015

Coupling between objects (CBO) is a count of the number of classes that are coupled to a particular class i.e. where the methods of one class call the methods or access the variables of the other. These calls need to be counted in both directions so the CBO of class A is the size of the set of classes that class A references and those classes that reference class A. Since this is a set - each class is counted only once even if the reference operates in both directions i.e. if A references B and B references A, B is only counted once.

This is the definition given here - www.virtualmachinery.com/sidebar3.htm

There is some more detail in the link - as well as an interesting general discussion of the Chidamber and Kemerer metrics - CBO is a part of these metrics.