发布网友
共1个回答
热心网友
耦合性什么意思
耦合性,亦称耦合度,是对模块间关联程度的一种衡量标准。其强弱取决于模块间接口的复杂性、调用方式以及通过接口传递数据的数量。
模块间的耦合度指代了模块之间的依赖程度,包括控制关系、调用关系和数据传递关系。模块间联系越多,其耦合性越强,表明其性越低。在软件设计中,通常使用耦合度和内聚度来衡量模块的性。高内聚低耦合是划分模块的一个准则。
形象地说,就是要将代码编写得像电脑主机的排线一样,低耦合的模块就像你可以轻易地拔掉鼠标线而不影响其他排线的功能。低耦合的模块只影响自身功能,而高耦合的模块则可能导致整个系统的功能受到影响。
耦合性和内聚性是什么意思
耦合性(块间联系)
指软件系统中模块之间相互关联紧密程度的一种衡量标准。模块间联系越紧密,其耦合性就越强,模块的性越差。模块间耦合度高低取决于接口的复杂性、调用方式及传递信息量。
内聚性(块内联系)
指模块内部各个元素彼此结合的紧密程度的衡量标准。一个模块内各元素(语句间、程序段间)联系越紧密,则它的内聚性越高。
因此,现代程序设计应追求高内聚低耦合,即将功能内聚在同一模块,模块间尽可能,互相依赖低。没有绝对的模块组,只有尽量降低互相影响,使模块性越强。
耦合性的七种类型
非直接耦合
如果两个模块之间没有直接关系,它们之间的联系是通过主模块的控制和调用来实现的,这称为非直接耦合。这种耦合的模块性最强。
数据耦合
如果一个模块访问另一个模块时,彼此间通过数据参数(而非控制参数、公共数据结构或外部变量)交换输入、输出信息,称为数据耦合。由于了只通过参数表传递数据,数据耦合是松散的耦合,模块间性较强。在软件程序结构中至少必须有此类耦合。
标记耦合
如果一组模块通过参数表传递记录信息,称为标记耦合。事实上,这些模块共享记录,它是某一数据结构的子结构,而非简单变量。这要求这些模块都清楚记录结构,并按结构要求操作。在设计中应尽量避免这种耦合,因为这会复杂化数据结构上的操作。如果采取“信息隐蔽”的方法,将数据结构上的操作集中在单一模块中,就可以消除这种耦合。
控制耦合
如果一个模块通过传送开关、标志、名字等控制信息来控制另一模块的功能,称为控制耦合。这种耦合的实质是在单一接口上选择多功能模块中的某项功能。因此,对被控制模块的任何修改都会影响控制模块。此外,控制耦合意味着控制模块必须知道被控制模块内部的一些逻辑关系,这会降低模块的性。
外部耦合
如果一组模块都访问同一全局简单变量,而不是同一全局数据结构,且不通过参数表传递该全局变量的信息,则称为外部耦合。
公共耦合
如果一组模块都访问同一个公共数据环境,则它们之间的耦合称为公共耦合。公共数据环境可以是全局数据结构、共享的通信区、内存的公共覆盖区等。
内容耦合
发生以下情况,两个模块之间就发生了内容耦合。
(1)一个模块直接访问另一个模块的内部数据。
(2)一个模块不通过正常入口转到另一模块内部。
(3)两个模块有一部分程序代码重叠(仅出现在汇编语言中)。
(4)一个模块有多个入口。