内聚性是指在软件工程中模块或类的各个元素之间相互影响的程度。高内聚性的模块或类内部各个元素之间联系紧密,可以有效减少模块之间的耦合,增加程序的可维护性和可拓展性。在本文中,我们将从多个角度分析内聚性有哪些。
角度一:信息内聚性
信息内聚性是指模块或类内的数据成员之间的相关性。例如,一个只保存身高的Person类,比一个同时保存了身高、体重、名字、年龄的Person类内聚性更高。在前者中,数据成员的信息内聚性高,而在后者中,数据成员的信息内聚性低。
角度二:功能内聚性
功能内聚性是指模块或类内的方法之间的相关性。例如,一个只实现了排序功能的Sort类,比一个同时实现了排序、查找、筛选等多个功能的类内聚性更高。在前者中,方法之间的功能内聚性高,而在后者中,方法之间的功能内聚性低。
角度三:过程内聚性
过程内聚性是指模块或类内的方法之间的执行顺序相关性。例如,一个按顺序执行A、B、C三个方法的类,比一个执行A、C、B或B、A、C等方法的类内聚性更高。在前者中,方法之间的过程内聚性高,而在后者中,方法之间的过程内聚性低。
角度四:通讯内聚性
通讯内聚性是指模块或类内的方法之间的参数和返回值相关性。例如,一个类中的多个方法都需要使用同一个变量,或多个方法返回值要经过计算才能得到最终结果,此时这些方法之间的通讯内聚性就比较高。
总体来说,高内聚性的模块或类在软件工程中有着重要的作用。它可以减少程序中模块之间的耦合性,增加程序的可维护性和可拓展性。通过保证模块或类内部元素之间的相关性,可以有效地避免出现由于模块之间的耦合而带来的某些问题。
扫码咨询 领取资料