公共耦合指通过一个公共数据环境相互作用的那些模块间的耦合.公共数据环境可以是全程变量或数据结构共享的通信,内存的公共覆盖区及任何存储介质上的文件,物理设备等(也有将共享外部设备分类为外部耦合).由于两个模块都要引用同一个公共数据域,因此有较高的耦合度。一旦公共数据有变化,与之有关的模块都应随之而修改,增加了维护的工作量及难度。
公共耦合是一种不好的耦合关系。若有一个公共数据做了修改,很难判定究竟有多少模块使用了该公共数据,在修改与维护时就有可能出现模块被遗漏的情况。所以,在模块设计时,尽量不要有公共耦合。