表驱动法:
一种编程模式,从表里面查找信息而不使用逻辑语句(if、case)。
简单一点的表驱动:
假设有一个程序,需要处理其他程序发送的消息,消息类型是字符串,每个消息都需要一个函数进行处理。最基本的处理:
按照表驱动的设计思路,可以这样设计:
复杂一点的表驱动:
考虑一个消息(事件)驱动的系统,系统的某一模块需要和其他的几个模块进行通信。它收到消息后,需要根据消息的发送方,消息的类型,自身的状态,进行不同的处理。
比较常见的一个做法是用三个级联的switch分支实现通过硬编码来实现:
用表驱动的方法来实现:根据定义的三个枚举:模块类型、消息类型、自身模块状态,定义一个函数跳转表
来源:博客园
作者:tongyishu
链接:https://www.cnblogs.com/tongyishu/p/11682115.html