耦合是一种软件度量标准,它描述两个例程或模块之间的紧密程度。 这是质量的度量。 该概念由拉里·康斯坦丁(Larry Constantine)在1960年代提出,并在1974年的《 IBM系统期刊,结构化设计》和1979年的同名书中得到了体现。
拥有模块A和B,需要更多有关B的知识才能理解A,A与B之间的联系也就越紧密。需要检查一个模块以了解另一个模块的操作这一事实表明:互连程度,即使互连程度未知。
耦合是互连强度的度量。 耦合受模块之间的连接类型,接口复杂性,模块连接之间的信息流以及模块连接的绑定时间影响。 耦合通常与凝聚力形成对比,例如,低耦合会转化为高凝聚力,反之亦然。
耦合水平
耦合可以低/松/弱或高/紧/强。
进行更改时,紧密耦合会转化为涟漪效应,以及难以理解的代码。 当一个模块的行为不正确时,它倾向于在模块之间传播错误。 它倾向于使调试和修复缺陷复杂化。
另一方面,在松耦合系统中,可以研究和更改单个模块,而无需考虑其他模块的大量信息。 错误可以更容易指出。 调试