在软件工程中,内聚是用来衡量模块内部功能联系紧密程度的概念。有不同的内聚类型,其中包括偶然内聚、逻辑内聚、过程内聚和通信内聚。下面是对每种内聚类型的简单说明和举例:
- 偶然内聚(Coincidental Cohesion):偶然内聚指的是模块内的元素之间没有明确的功能联系,它们仅仅是因为某种偶然的原因而被组合在一起。这种内聚类型是最低级别的内聚,通常会导致代码难以维护和理解。
举例:一个模块中包含了各种无关的函数,这些函数之间没有共享的数据或交互行为,它们只是被放在同一个模块中。
- 逻辑内聚(Logical Cohesion):逻辑内聚指的是模块内的元素按照某种逻辑关系相关联,共同实现一个或多个功能。这种内聚类型是较高级别的内聚,模块内的元素在逻辑上相互关联,共同解决某个问题。
举例:一个处理订单的模块,包含了创建订单、查询订单、修改订单等函数,它们在逻辑上都与订单处理相关。
- 过程内聚(Procedural Cohesion):过程内聚指的是模块内的元素按照某种执行顺序相关联,共同完成一项任务或处理一种情况。这种内聚类型要求模块内的元素按照特定的过程顺序执行。
举例:一个排序模块,包含了选择排序、冒泡排序、插入排序等函数,它们按照不同的排序算法的过程顺序执行。
- 通信内聚(Communicational Cohesion):通信内聚指的是模块内的元素通过共享数据进行交流和协作,彼此依赖于共享的数据或信息。这种内聚类型要求模块内的元素在完成任务时通过通信实现协作。
举例:一个用户管理模块,包含了添加用户、删除用户、更新用户信息等函数,它们通过共享的用户数据进行交流和协作。
需要注意的是,内聚类型并不是绝对的,一个模块可能同时具有多种内聚类型的特点,但通常会有一种主导。理想情况下,我们希望模块具有高内聚和低耦合,即模块内元素之间的功能联系紧密,同时与其他模块之间的依赖关系较弱。这有助
于提高代码的可维护性、重用性和扩展性。
标签:分类,元素,Cohesion,软件工程,举例,模块,内聚,类型 From: https://www.cnblogs.com/sap-jerry/p/17440455.html