天天看点

软件设计中的高内聚、低耦合

一、内聚

1.定义

    一个模块内部各元素聚集、关联的程度。

    定义的范围在一个模块内部。一个高内聚模块,应该恰好只做一件事。高内聚就是模块内各元素高度聚集、高度关联。

2.特点

    高内聚模块具备较好的可靠性、可重用性、可读性。

3.分类

    功能内聚、顺序内聚、.......、偶然内聚(排序由高内聚至低内聚)。

    功能内聚——一个模块内所有元素的存在都是为了完成同一个单一功能,模块已不可再分,这是最高程度的内聚,也是我们进行软件设计时想达到的效果。

    ......

    偶然内聚——模块内各元素之间没有任何联系,只是偶然呗凑到一起,这是最低程度的内聚,进行软件设计时应该避免。

二、耦合

1.定义

    多个模块之间关联程度的度量。

    定义范围在多个模块之间。耦合的程度取决于模块间接口的复杂性、调用模块的方式等。模块间的联系越多,耦合性越强,独立性就越差。

2.特点

    低耦合能减少模块间的相互作用,防止修改某一模块时引起的“牵一发动全身”效应。

3.分类

    数据耦合、......、公共耦合(排序由低耦合至高耦合)。

    数据耦合——调用模块于被调用模块之间只传递简单的数据项参数,类似函数传参,是最低的耦合。

    ......

    公共耦合——多个模块访问同一个全局数据结构,最高的耦合。

继续阅读