第九章 生成:提升规格说明的层次
尽可能的把设计复杂度从程序代码转移到数据是一个好实践,选择便于人类维护和操作的数据表示也是一个好实践
数据比程序更易驾驭
9.1 数据驱动编程
将代码和代码作用的数据结构划分清楚,改变程序逻辑时,只需要编辑数据结构 而不需要改动代码
数据驱动编程和面向对象的区别(OO 主要是以数据组织为中心的风格)
1、数据编程中,数据不仅仅是某个对象的状态,还定义了程序的控制流;
2、面向对象中,首先考虑的是封装,而数据驱动编程看重的是编写尽可能少的固定的代码
任何类型的代码生成或数据驱动编程的重要原则是:始终将问题往上层推。
9.2 专用代码的生成
实例1 生成ascii显示的代码
实例2 为列表生成HTML代码
主要优点: 尽可能少干活;让那个数据塑造代码;依靠工具;把机制从策略中分离