使用表驱动法,而非繁琐冗长的 if/else, switch case(本身也代表一种代码坏味道),也是替身编程质量的重要手段,

表驱动法是一种编程模式(schema)—— 从表里面查找信息而不使用逻辑语句(if/else, switch/case)。事实上,凡是能通过逻辑语句来选择(路由,分发)的事物,都可以通过查表来选择。

if (语句A) 
{
    语句B;
}
else 
{
    语句C; 
}

上述代码,语句A语句B便存在着一种映射和对应关系,语句非A语句C同样存在着一种映射关系。

1. 简单举例

  • 各月天数:

    int days[] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};

    更具体地讲,这也是一种直接访问表法;

posted on 2017-10-10 23:39  未雨愁眸  阅读(673)  评论(0编辑  收藏  举报