您的位置 首页 > 传统文化

解耦性是啥

大家好,小科来为大家解答以上问题。解耦性是啥,耦合性什么意思很多人还不知道,以下内容是本小编对于此话题的观点:

1、耦合性什么意思:“答案是:耦合性,也叫耦合度,是模块之间相关程度的一种度量”。耦合强度取决于模块间接口的复杂程度、调用模块的方式以及通过接口传输的数据量。模块之间的耦合度是指模块之间的依赖关系,包括控制关系、调用关系和数据传输关系。模块之间的连接越多,耦合性越强,独立性越差。在软件设计中,耦合度和内聚度通常被用作衡量模块独立性的标准。模块划分的一个标准是高内聚、低耦合。附:一般模块之间有七种可能的连接方式,构成七种耦合类型。它们之间的关系是(从强到弱的独立)间接耦合。如果两个模块之间没有直接关系,那么它们之间的连接完全是通过主模块的控制和调用来实现的,这就是间接耦合。这个耦合模块的独立性最强。数据耦合:当一个模块访问另一个模块时,通过数据参数(不是控制参数、公共数据结构或外部变量)交换输入输出信息,称为数据耦合。由于被限制只能通过参数表传输数据,因此数据耦合开发的程序接口简单、安全、可靠。所以数据耦合是松耦合,模块之间的独立性比较强。至少这种耦合必须存在于软件程序结构中。戳耦合如果一组模块通过一个参数表传输记录的信息,则标记为耦合。实际上,这组模块共享这个记录,它是一个数据结构的子结构,而不是一个简单的变量。这就要求这些模块知道记录的结构,并根据结构要求操作记录。在设计中应尽可能避免这种耦合,因为它会使数据结构上的操作变得复杂。如果采用“信息隐藏”的方法,对数据结构的所有操作都将是集中的。控制耦合:如果一个模块明显通过传递开关、标志、名称等控制信息来控制另一个模块的功能。是控制耦合。这种耦合的本质是在单一界面上选择多功能模块中的功能。因此,对受控模块的任何修改都会影响控制模块。另外,控制耦合也意味着控制模块必须知道被控模块内部的一些逻辑关系,这会降低模块的独立性。当一组模块都访问同一个全局简单变量而不是同一个全局数据结构,全局变量的信息不通过参数表传递时,称为外部耦合。例如,C语言程序中的每个模块访问被描述为外部类型的外部变量。外部耦合导致的问题与公共耦合导致的问题类似,只是外部耦合中没有依赖于一个数据结构的内部项的物理排列。公共耦合如果一组模块都访问同一个公共数据环境,它们之间的耦合称为公共耦合。公共数据环境可以是全局数据结构、共享通信区、存储器的公共覆盖区等。这种耦合会造成以下问题:所有的公共耦合模块都与一个公共数据环境中各种项的物理排列有关,如果某个数据的大小被修改,所有的模块都会受到影响。无法控制各模块对公共数据的访问,严重影响软件模块的可靠性和适应性。公共数据名的使用明显降低了程序的可读性。随着耦合模块数量的增加,普通耦合的复杂性显著增加。如果两个模块之间只有一个公共的数据环境,那么就有两种公共耦合的情况。如果一个模块只向公共数据环境传输数据,而另一个模块只从公共数据环境取数据,这种公共耦合称为松散公共耦合。如果两个模块都从公共数据环境中获取数据,并向公共数据环境发送数据,这种公共耦合称为紧公共耦合。公共耦合只在模块间有大量数据共享,不方便通过参数表传递时使用。

2、否则,最好使用模块独立性更高的数据耦合。内容耦合如果出现以下情况,两个模块之间发生内容耦合。一个模块直接访问另一个模块的内部数据;一个模块不通过正常入口进入另一个模块内部;两个模块有一些重叠的程序代码(只能出现在汇编语言中);一个模块有多个入口。在内容耦合的情况下,对被访问模块的任何更改,或者用不同的编译器重新编译它,都会导致程序错误。幸运的是,大多数高级编程语言都被设计成防止内容耦合。它通常出现在汇编语言程序中。这种耦合是模块独立性最弱的耦合。

责任编辑: 鲁达

1.内容基于多重复合算法人工智能语言模型创作,旨在以深度学习研究为目的传播信息知识,内容观点与本网站无关,反馈举报请
2.仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证;
3.本站属于非营利性站点无毒无广告,请读者放心使用!

相关推荐