理解内聚与耦合

一、先了解一下什么是模块?

模块就是从逻辑上将系统分解为更细微的部分,分而治之。

复杂问题因为复杂性的问题,比较难解决,但是可以将复杂问题拆解为若干简单问题,逐个击破地解决这些简单问题,最后实现解决复杂问题的效果。

模块的粒度划分可大可小,可以是函数,类或功能块等等。

耦合主要描述的是模块与模块之间的关系,内聚则主要描述的是单个模块的内部构成。

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

 

二、耦合

如果模块之间存在依赖,则可能会导致一个模块的改动影响了另外的模块的问题,甚至是相互影响。

两个模块之间的关系越紧密,耦合就越强,模块的独立性就会越差。

比如一个模块A直接操作了模块B中数据,则视为强耦合;若A只是通过数据与模块B交互,则视为弱耦合。

独立的模块便于扩展、维护和单元测试,如果模块之间重重依赖的话,就会极大降低开发效率。

 

三、内聚

一个模块应当尽可能独立完成某个功能,模块内部的元素关联性越强,则内聚越高,模块单一性就越强。

如果有各种场景需要被引入到当前模块,代码的质量将变得非常脆弱,这种情况建议拆分为多个模块。

低内聚的模块代码,不管是维护、扩展还是重构都相当麻烦。因为要兼顾内部元素的关联性,如果不理清楚的话可能会难以下手。

高内聚的优点:可读性、复用性、可维护性和易变更性

 

 

四、内聚类型 与 耦合类型(举例说明)

https://www.cnblogs.com/jiuhefree/articles/13730537.html

 

posted @ 2020-09-24 18:19  九鹤  阅读(666)  评论(0编辑  收藏  举报