2009-02-09读书记录——《代码大全》(第一版)第六章——模块化设计
来源:互联网 发布:企业软件正版化 编辑:程序博客网 时间:2024/05/16 16:24
什么是模块?
模块是指数据及作用于数据的子程序的集合。也可以指一系列互相联系功能的子程序集合,而这些子程序之间不一定有公共的数据。
强内聚性而又松散耦合的模块是高质量的模块,减少使用全局变量可以降低程序之间的耦合性。模块中的数据又像全局数据又不是全局数据,它只对模块中的子程序来说,才是可以读取的。(PS:这么像类?!)
需要隐含的信息
(不知道为啥这一节叫这个名字,应该叫隐藏或隐蔽更好一些吧:P)
找到有可能需要改动的地方, 把它们独立到一个模块中。可能变动的区域包括:对硬件有依赖性的地方、输入和输出、非标准语言特性、难于设计和实现的域。其中“非标准语言特性”感觉有点像设计模式中的“Adapter”。其它的一些方面就要仔细的检查代码了,经验多了以后或许就会很方面的将其分离出来了。
原文中有这样一句话“如果用图表来实现一个排序问题。函数 HighestPriorityEvent(),LowestPriorityrEvent()和
NextEvent()是抽象函数,隐含了实现细节;而 FrontOfQueue(),BackOfQueue()和 NextInQueue() 并没有隐含多少细节,因为它们提到了实现,暴露了它们该隐藏的秘密。”这句话让不太明白,按照前一章所讲的子程序的特点来说,在命名上似乎后者更为恰当。
看到了第四节才证实了我先前想的想法,原来模块在C++中的支持就是类,在C中是结构体(某种意义上也可以说是类)。其它语言不太熟悉,但大概看了一下代码基本上表达的都一样。后面一部分内容看的不太仔细,突然间心里很烦燥,也说不出是为什么,就是看不进去,这一章20几页的篇幅却看了我一个多小时还没看完。不知道是前面没太用心看所有后面有一些不明白,还是由于今天太累了的原因。先到这里吧,以后回过头来的时候再攻克!
- 2009-02-09读书记录——《代码大全》(第一版)第六章——模块化设计
- 2009-03-02读书记录:《代码大全》(第一版)第二十九章——代码调试技术
- 2009-02-12读书记录——《代码大全》(第一版)第七章——高级结构设计
- 2009-02-12读书记录:《代码大全》(第一版)第八章——生成数据
- 2009-02-13读书记录:《代码大全》(第一版)第九章——数据名称
- 2009-02-13读书记录:《代码大全》(第一版)第十章——变量
- 2009-02-15读书记录:《代码大全》(第一版)第十一章——基本数据类型
- 2009-02-16读书记录:《代码大全》(第一版)第十二章——复杂数据类型*
- 2009-02-16读书记录:《代码大全》(第一版)第十三章——顺序程序语句
- 2009-02-17读书记录:《代码大全》(第一版)第十四章——条件语句
- 2009-02-17读书记录:《代码大全》(第一版)第十五章——循环语句
- 2009-02-17读书记录:《代码大全》(第一版)第十六章——少见的控制结构
- 2009-02-18读书记录:《代码大全》(第一版)第十七章——常见的控制结构
- 2009-02-19读书记录:《代码大全》(第一版)第十八章——布局和风格
- 2009-02-20读书记录:《代码大全》(第一版)第十九章——文档
- 2009-02-21读书记录:《代码大全》(第一版)第二十章——编程工具
- 2009-02-22读书记录:《代码大全》(第一版)第二十二章——创建管理
- 2009-02-22读书记录:《代码大全》(第一版)第二十三章——软件质量概述
- 对java基础数据类型在运算过程中的自动转换的一些分析
- 扫雷游戏(xp版)vc实现
- 用控制台应用 程序c#中读取xml文件和用控件读取xml文件
- 清平乐.晏殊
- 元宵节看烟火
- 2009-02-09读书记录——《代码大全》(第一版)第六章——模块化设计
- 广识Flash好友之士 ---树友
- Linux平台上关于工具Wine的完全使用指南
- 啥是SoC?快速入门!
- 字符串分组求和
- 第一项目
- 寶 貝 , 聽 我 說
- 为什么陆涛不爱米莱
- 连接池