《Unix 编程艺术》 第九章 生成
数据比程序逻辑更易驾驭。尽可能把设计的复杂度从程序代码转移到数据中是个好实践,选择便于人类维护和操作的数据表示法也是好实践。
#9.1 数据驱动编程
数据驱动编程有时会跟面向对象混淆起来,后者是另一种以数据组织为中心的风格。它们之间至少有两点不同。
- 在数据驱动编程中,数据不仅仅是某个对象的状态实际上还定义了程序的控制流
- OO 首先考虑的是封装,而数据驱动编程看重的是编写尽可能少的固定代码。
#9.1.1 ascii
ascii
是 Unix 系统中的一个命令行工具。当一个 ASCII 值或字符被传递到此工具时,它会输出该字符的八进制、十进制、和十六进制值,同时也会显示对应的字符。例如,如果你输入 ascii A
,你将得到 ‘A’ 字符的 ASCII 编码信息。
在 Unix 中,采用了数据驱动编程开发这个程序。所有字符名的字符串都放在了一个表结构中,这个表结构比代码中的任何函数都大。代码仅仅查表并完成数值转换等底层任务。
这种结构使得增加新字符名、改变现有字符名或删除旧字符名都非常容易,只要简单编辑数据表就行,不需要改动代码。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 三叔胡言乱语的地方!
评论