表驱动法
- 表驱动是一种编程模式(scheme)
- pattern 是可以被实例化的
- scheme 是一种方式
- 当我需要有很复杂的逻辑判断的时候,我不会直接写出来,而是通过表中的数据来进行。
- 表可以放在文件中,从而实现分离
- 解决复杂逻辑问题的,适用范围包含了从代码中避免复杂的逻辑判断
- 策略模式
- 工厂模式
- 实例
- 使用复杂的逻辑对字符分类
- 使用一个查询表对字符进行分类
- chartype = table[inputchar]
- 代码数据化的设计模式
- 命令
- 表驱动的问题
- 存什么
- 数据
- 动作,虚函数表
- 如何查表
- 直接访问
- 月份的天数
- 浮标:提供水温,浮标位置
- 简单工厂模式,增加的时候不满足开闭原则
- 索引访问
- 记录很大,节省空间
- 即使没有节省空间,操作位于索引的时候,也比在主表的时候更方便
- 数据库的视图,方便访问
- 员工视图,工资试图
- 阶梯访问
- 通过每项命中的阶梯确定其归属
- if x < 10 & x > 20
- 直接访问
- 索引表
- 往高处爬,用上限
- 区间表{50,65,75,90,100}
- 当前的上限值 和 区间数值进行比较
- 别名方法,减少了每次和上界的比较
- 其他和他比的方法,不会使用这个,必须是随机产生的
- 每年必考
- 存什么