内聚性,又称块内联系,指模块的功能强度的度量,即一个模块内部各个元素彼此结合的紧密程度的度量。
目标
让每一个子程序只做一件事。使子程序内的各种操作之间联系强。
顺序的内聚性sequentialcohesion
特点:子程序内包含需要按特定顺序执行的操作,这些步骤需要共享数据,必须全部执行完毕才算完成一向完整功能。
分类
内聚有如下的种类,它们之间的内聚度由弱到强排列如下:
(1) 偶然内聚。模块中的代码无法定义其不同功能的调用。但它使该模块能执行不同的功能,这种模块称为巧合强度模块。
(2) 逻辑内聚。这种模块把几种相关的功能组合在一起, 每次被调用时,由传送给模块参数来确定该模块应完成哪一种功能
(3) 时间内聚:把需要同时执行的动作组合在一起形成的模块为时间内聚模块。
(4) 过程内聚:构件或者操作的组合方式是,允许在调用前面的构件或操作之后,马上调用后面的构件或操作,即使两者之间没有数据进行传递。
(5) 通信内聚:指模块内所有处理元素都在同一个数据结构上操作(有时称之为信息内聚),或者指各处理使用相同的输入数据或者产生相同的输出数据。
(6) 顺序内聚:指一个模块中各个处理元素都密切相关于同一功能且必须顺序执行,前一功能元素输出就是下一功能元素的输入。
(7) 功能内聚:这是最强的内聚,指模块内所有元素共同完成一个功能,缺一不可。
方法:
封装数据的实现,也算是构建模块化程序的一种方法,装内部实现,暴露够用的接口,也是保持模块清晰的方式之一