专业汉语词典知识平台,分享汉字词语知识、历史文学知识解答!

励北网

耦合是什么意思(彻底理解什么是内聚和耦合?)

来源:励北网  作者:小北  发布时间:2023-03-29 02:19
摘要:耦合是什么意思(彻底理解什么是内聚和耦合?)软件设计中应保持模块独立性原则。有两个标准来反映模块的独立性:内聚和耦合。内聚性衡量一个模块内各元素的紧密、友好、优秀的资源密度程度,耦合性衡量模块间的相互依赖程度。耦合耦合是指模块之...

耦合是什么意思(彻底理解什么是内聚和耦合?)

耦合是什么意思(彻底理解什么是内聚和耦合?)

软件设计中应保持模块独立性原则。有两个标准来反映模块的独立性:内聚和耦合。内聚性衡量一个模块内各元素的紧密、友好、优秀的资源 *** 密度程度,耦合性衡量模块间的相互依赖程度。

耦合

耦合是指模块之间相互关联的程度。模块之间的相关程度取决于以下几点:

一个模块对另一个模块的访问。例如,模块A可能调用模块B来完成一个功能,因此模块A依赖于模块B来完成它的功能。

模块之间传递的数据量。

控制信息从一个模块传递到另一个模块。

模块间接口的复杂性。

根据这几点,联轴器可以分为7类:

内容耦合:

如果一个模块直接引用另一个模块的内容,那么这两个模块就是内容耦合的。

普通联轴器:

如果多个模块都访问同一个公共数据环境,则称为公共耦合。公共数据环境可以是全局数据结构、共享通信区、内存公共覆盖区等。由于许多模块共享相同的公共数据环境,如果一个模块修改了数据,就会影响所有相关的模块。

外部耦合:

如果两个模块访问的是同一个全局简单变量,而不是同一个全局数据结构,那么这两个模块属于外部耦合。

控制耦合:

如果模块A向模块B发送控制消息,这两个模块被称为控制耦合。例如,当一个函数名作为参数传递给另一个模块时,它实际上控制了另一个模块的执行逻辑。控制的主要问题是两个模块不是相互独立的。调用模块必须知道被调用模块的内部结构和逻辑,这不符合信息隐藏和抽象的设计原则,也降低了模块的可重用性。

数据结构耦合:

当一个模块调用另一个模块时,传递的是整个数据结构,所以两个模块之间存在数据结构耦合。

数据耦合:

如果两个模块传输数据项,则这两个模块是数据耦合的。

间接耦合:

如果两个模块之间没有直接关系,那么它们之间的连接完全是通过主模块的控制和调用来实现的,这就是间接耦合。

上述耦合中,内容耦合是模块间最紧密的耦合,间接耦合是模块间最松散的耦合。软件设计的目标是降低模块间的耦合度,应采用的设计原则是:尽量使用数据耦合,少用控制耦合,朋友和资源的 *** 连接,限制公共耦合,坚决避免内容耦合。

内聚力

内聚是指模块中元素之间关系的紧密程度。衔接分为七种类型。内聚的含义及其对软件独立性的影响将在下面讨论。

凝聚力:

如果一个模块执行几个完全不相关的动作,那么这个模块有重合内聚。

逻辑衔接:

当一个模块执行一系列相关的动作时,我们说它具有逻辑内聚性。例如,一个模块执行插入、删除和修改主文件的操作。通常,逻辑上内聚的模块包含太多相关的功能。当一个模块包含更多的功能时,就必须有更多的模块入口参数。通常,执行模块中的哪个功能是根据入口参数决定的。因此,逻辑内聚模块带来两个问题:一是接口参数复杂,难以理解;另一个是多个功能交织在一起,降低了模块的可维护性。

时间凝聚力:

当一个模块中的多个任务与时间相关时,这个模块具有时间内聚性。最常见的时间内聚模块是初始化模块。除了系统启动时需要完成的时间外,该模块中的动作之间没有其他关系。

流程凝聚力:

由模块执行的几个动作是相互关联的,并且具有顺序关系。例如,从输入接口读取数据,然后更新数据库记录。它仍然是通过将几个相关的功能放在一个模块中来实现的。

沟通凝聚力:

模块中的所有元素使用相同的输入数据或产生相同的输出数据。

序列内聚力:

如果一个模块中的处理元素与同一个功能密切相关,并且这些过程必须顺序执行,那么这个模块就具有顺序内聚性。

功能凝聚力:

模块的每个部分都是完成特定功能的重要部分。这些部分相互协调工作,紧密联系,密不可分,目的是完成一个完整的功能。具有内聚功能的模块是理想的模块,易于理解和维护,具有良好的复用性。

在上述七种衔接方式中,功能性衔接模块的独立性最强,而巧合性衔接模块的独立性最弱。在设计时,我们应该确保模块尽可能具有功能内聚性。

内聚和耦合是相互关联的。在整体设计中,要尽量提高模块的内聚性,降低模块间的耦合性。


生肖运势
小编:小北整编
相关文章相关阅读
  • 周排行
  • 月排行
  • 年排行