分享

读书日志:代码大全之第六章

 cupid8505 2012-06-22
模块化设计
模块则是指数据及作用于数据的子程序的集合。模块也可能是指,可以提供一系列互相联系功能的子程序集合,而这些子程序之间不一定有公共的数据。

6.1 模块化:内聚性与耦合性
模块的内聚性准则,与单个子程序的内聚性准则一样、

模块与程序其它部分间的耦合标准与子程序间的耦合标准也是类似的。

6.2 信息隐蔽
常见需要隐含的信息
容易被改动的区域
· 复杂的数据
· 复杂的逻辑
· 在编程语言层次上的操作

6.3 建立模块的理由
6.4 任何语言中实现模块

模块包括数据、数据类型、数据操作以及公共和局部操作的区分等。

数据需要在三个层次上可以被存取和隐含,在局部,在模块中及在全局中。对于数据类型的可存取性和可隐含性的要求,与对数据的要求是类似的。对模块层次上的子程序的要求与对数据的要求是类似的。

C的支持
虽然用C语言编程的程序员们并不习惯在C中使用模块,但事实上C也直接支持模块化。每一个C源文件都可以同时含有数据和函数,可以把这些数据和函数说明为Static,这将使它们只在源文件内部才能使用。也可以不把它们说明为Static,此时它们在源文件外也可以使用。当每一个源文件都被当作模块时,C就完全支持模块化了。
由于源文件和模块并不完全相同,你需要为每一个源文件创建两个头文件——一个作为公用、模块头文件,另一个作为专用的、源文件头文件。在源文件的公用头文件中,只放入公用数据和函数说明。

6.4 检查表
模块的质量
XXXXXXX

6.5 小结
(1)不管调用哪一个,子程序与模块的不同是很重要的,要认真考虑子程序与模块的设计。
(2)从模块数据是被几个子程序使用的这一角度来说,它与全局数据是相同的,但从可以使用它的子程序是有限的,而且清楚地知道是哪些子程序可以使用它这一角度来说,模块数据与全局数据又是不同的。因此,可以使用模块数据而没有全局数据的危险。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多