内聚性是衡量一个系统各个部件之间联系紧密程度的指标,是软件设计中和面向对象编程中一个很重要的概念。内聚性的概念与之相对的概念是耦合,一个系统内聚性越高,耦合度越低。在软件的设计和开发过程中,如何提高系统内聚性成为了一个重要的问题。本文将从多个角度分析,讨论什么内聚的内聚度最高。
1. 逻辑内聚
逻辑内聚是指模块内各个元素之间通过一个共同的目标互相联系的程度,是最常用的内聚类型。在逻辑内聚中,所有的模块元素都朝着实现模块内的相同功能的方向靠拢,因此模块内各个元素的功能之间是紧密关联的。逻辑内聚是目前软件开发中最常用的一种内聚方式,能够提高代码的可维护性,但可能会造成模块的复杂度过高。
2. 时间内聚
时间内聚是指在同一时间段内执行相同功能的元素被放在同一个模块中,例如类似于每个月初把银行账单打印出来的操作可以放在一个模块内。这种内聚方式的优点是模块的功能单一明确,缺点是可能会使得模块变得臃肿而难以维护。
3. 过程内聚
过程内聚是指将在一个大的功能模块中,将同一功能需要协同完成的处理过程组合在一起形成一个单独的过程,而只将单独完成其它处理过程的模块分离出来,从而达到降低功能模块的复杂度、提高模块可读性和可维护性的目的。这种内聚方式与时间内聚有些类似,对于大型复杂系统来说,过程内聚可以降低复杂度、分层处理,但是单个功能模块的过程就可能限制了程序的灵活性。
4. 通信内聚
通信内聚是指模块完成相同功能之间的交互比较多,内部数据耦合比较小,模块通过相似的输入/输出数据交互数据,以达到协同工作的目的。相对于逻辑内聚、时间内聚、过程内聚而言,通讯内聚通常用于整合多个子系统。
因此,什么内聚的内聚度最高,这个问题并没有一个十分明确的答案。因为在不同的场景下,使用不同的内聚方式可以得到不同的效果。适合内聚度高的软件开发方式是:首先根据你要实现的功能,选择合适的内聚类型,然后根据实际情况来选择是否需要使用组合内聚、共享内聚、序列内聚等。
扫码咨询 领取资料