表驱动法(原书第18章)
要点总述
表驱动法(Table-Driven Methods)是一种从表中查找信息而不使用逻辑语句(if和case)的编程模式(scheme)。事实上,一切可以使用逻辑控制语句来选择的事物,都可以通过表驱动法查表实现。在合适的环境下,使用表驱动法的代码会比使用复杂逻辑的代码更简单、更易修改并拥有更高的效率。
使用表驱动法的两项关键决策:
如何从表中查询条目?
- 直接访问表(Direct Access Table)
- 索引访问表(Indexed Access Table)
- 阶梯访问表(Stair-step Access Table)
在表中应该存储些什么?
- 数据
- 动作
- 子程序的引用
表提供了一种复杂的逻辑和继承结构的替代方案,可以对应用程序的逻辑或者继承树关系通过查找表(Lookup Table)简化。