什么是高内聚、低耦合?

什么是高内聚、低耦合?高内聚 低耦合 内聚 每个模块尽可能独立 完成自己的功能 不依赖于模块外部的代码 耦合 模块与模块之间接口的复杂程度 模块之间联系越复杂耦合度越高 牵一发而动全身 目的 使得模块的 可重用性 移植性 大大增强 通常程序结构中各模块的内聚程度越高 模块间的耦合程度就越低

大家好,我是讯享网,很高兴认识大家。
高内聚、低耦合

内聚:每个模块尽可能独立完成自己的功能,不依赖于模块外部的代码。

耦合:模块与模块之间接口的复杂程度。模块之间联系越复杂耦合度越高,牵一发而动全身。

目的:使得模块的“可重用性”、“移植性“大大增强。


通常程序结构中各模块的内聚程度越高,模块间的耦合程度就越低。


模块粒度:

【函数】

高内聚:尽可能类的每个成员方法只完成一件事(最大限度的聚合)

低耦合:减少类内部一个成员调用另一个成员方法。

【类】

高内聚低耦合:减少类内部,对其他类的调用。

【功能块】

高内聚低耦合:减少模块之间的交互复杂度(接口数量、参数数据)


横向:类与类之间、模块与模块之间

纵向:层次之间

尽可能内容内聚,数据耦合。


高内聚低耦合

内聚是从功能角度来度量模块内的联系,一个好的内聚模块应当恰好做一件事。它描述的是模块内的功能联系; 耦合是软件结构中各模块之间相互连接的一种度量,耦合强弱取决于模块间接口的复杂程度、进入或访问一个模块的点以及通过接口的数据。 高内聚低耦合,是软件工程中的概念,是判断设计好坏的标准,主要是面向对象的设计,主要是看类的内举行是否高,耦合度是否低。 

讯享网
讯享网模块独立性指每个模块只完成系统要求的独立子功能,并且与其他模块的联系最少且接口简单,两个定性的度量标准--耦合性和内聚性。 

耦合性也称块间联系。指软件系统结构中各模块间相互联系紧密程度的一种度量。模块之间联系越紧密,其耦合性就越强,模块的独立性则越差。


讯享网

模块间耦合高低取决于模块间接口的复杂性、调用的方式及传递的信息。

耦合性分类(低–高):无直接耦合、数据耦合、标记耦合、控制耦合、公共耦合、内容耦合;

  1. 无直接耦合
  2. 数据耦合:
    指两个模块之间有调用关系,传递的是简单的数据值,相当于高级语言的值传递。 
  3. 标记耦合:
    讯享网指两个模块之间传递的是数据结构,如高级语言中的数组名、记录名、文件名等这些名字即标记,其实传递的是这个数据结构的地址。 
  4. 控制耦合:
    指一个模块调用另一个模块时,传递的是控制变量(如开关、标志等),被调模块通过控制变量的值有选择的执行块内某一功能。 
  5. 公共耦合:
    讯享网指通过一个公共数据环境相互作用的哪些模块间的耦合。公共耦合的复杂程度随耦合模块的个数增加而增加。 
  6. 内容耦合:
    这是最高程度的耦合,也是最差的耦合。当一个模块直接使用另一个模块的内部数据,或通过非正常入口而转入另一个模块内部。 

内聚性又称块内联系。指模块的功能强度的度量,即一个模块内部各个元素彼此结合的紧密程度的度量。若一个模块内各元素(语名之间、程序段之间)联系的越紧密,则它的内聚性就越高。

内聚性分类(低–高):偶然内聚、逻辑内聚、时间内聚、通信内聚、顺序内聚、功能内聚。

  1. 偶然内聚:
    讯享网指一个模块内的各处理元素之间没有任何联系。 
  2. 逻辑内聚:
    指模块内执行几个逻辑上相似的功能,通过参数确定该模块完成哪一个功能。 
  3. 时间内聚:
    讯享网把需要同时执行的动作组合在一起形成的模块称为时间内聚模块。 
  4. 通信内聚:
    把模块内所有处理元素都在同一个数据结构上操作(有时称之为信息内聚), 或者指各处理使用相同的输入数据或者产生相同的输出数据。 
  5. 顺序内聚:
    讯享网指一个模块中各个处理元素都紧密相关于同一功能且必须顺序执行,前一功能元素输出就是下一功能元素的输入。 
  6. 功能内聚:
    这是最强的内聚,指模块内所有元素共同完成一个功能,缺一不可。与其他模块的耦合是最弱的。 

耦合性和内聚性是模块独立性的两个定性标准,将软件系统划分模块时,尽量做到高内聚低耦合,提高模块的独立性,为设计高质量的软件结构奠定基础。

小讯
上一篇 2025-02-20 15:02
下一篇 2025-01-16 09:56

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/15541.html