子程序的内聚性

4/12/2012 10:14:03 AM

功能的内聚性

  让一个子程序只执行一项任务。

顺序上的内聚性

  是指在程序内包含有需要按特定顺序执行的操作,这些步骤需要共享数据,而且在全部执行完毕后才完成一项完整的功能。

通信上的内聚性

  是指一个子程序中不同操作使用了同样的数据,但不存在其它任何其它联系。

临时的内聚性

  是指含有一些因为需要同时执行才放到一起操作的子程序。

过程上的内聚性

  是指一个子程序中的操作是按特定的顺序进行的,而这些操作并不需要为了除此之外的任何原因而彼此关联。

逻辑上的内聚性

   是指若干操作被放入同一个子程序中,通过传入控制标志位选择执行其中的一项操作。

巧合的内聚性

   是指子程序中的各个操作之间没有任何可以看到的关联。

总之,功能的内聚是最强也是最好的,而后3种内聚都是不可取的。优化时,都是通过将代码重新组织,将操作重新组织为具有功能内聚性的子程序,并在高层子程序中调用。 

上一遍:重构的理由
下一遍:有趣的数字