高内聚低耦合通俗解释

先看下百度百科的解释:
高内聚低耦合,是 软件工程 中的概念,是判断软件设计好坏的标准,主要用于程序的 面向对象 的设计,主要看类的内聚性是否高, 耦合度 是否低。
目的是使程序模块的可重用性、移植性大大增强。
通常程序结构中各模块的内聚程度越高,模块间的耦合程度就越低。
内聚是从功能角度来度量模块内的联系,一个好的内聚模块应当恰好做一件事,它描述的是模块内的功能联系;
耦合是软件结构中各模块之间相互连接的一种 度量 ,耦合强弱取决于模块间接口的复杂程度、进入或访问一个模块的点以及通过接口的数据。

通俗解释:
内聚就是模块内部之间的联系,耦合就是模块与模块之间的联系。

高内聚是加强模块内部之间的联系,使得模块内部的数据紧密性很强,没有其他相关度小的数据影响,让模块的独立性极大提高,如果一个模块的内聚性低,说明模块内部有很多其他数据,那么改动的时候就会影响到其他数据牵扯到的模块。

低耦合就是要尽量减少模块与模块之间的联系,使得调用一个模块时没必要去考虑其他模块是否受影响,因为他们之间独立性很强。

就拿函数来说,你的递归函数里面的数据都只和你要实现的递归函数有关,不要把里面的数据放到另一个排序函数中执行处理,不然的话你每次递归函数的执行是与这个排序函数挂钩的,那么如果我想要用你这里的递归函数,还得把你的排序函数也拿过来,说明程序模块的可重用性和可移植性很差,而这里的函数其实就是模块,这个例子就是典型的低内聚高耦合的例子。

读完了再去回味一下这句话:
高内聚:尽可能类的每个成员方法只完成一件事(最大限度的聚合);
低耦合:减少类内部,一个成员方法调用另一个成员方法。

再来回味一下百度百科的解释吧:
高内聚低耦合,是 软件工程 中的概念,是判断软件设计好坏的标准,主要用于程序的 面向对象 的设计,主要看类的内聚性是否高, 耦合度 是否低。
目的是使程序模块的可重用性、移植性大大增强。
通常程序结构中各模块的内聚程度越高,模块间的耦合程度就越低。
内聚是从功能角度来度量模块内的联系,一个好的内聚模块应当恰好做一件事,它描述的是模块内的功能联系;
耦合是软件结构中各模块之间相互连接的一种 度量 ,耦合强弱取决于模块间接口的复杂程度、进入或访问一个模块的点以及通过接口的数据。

猜你喜欢

转载自blog.csdn.net/Dai_sir_man/article/details/120198746