表驱动

表驱动法:

一种编程模式,从表里面查找信息而不使用逻辑语句(if、case)。

简单一点的表驱动:

假设有一个程序,需要处理其他程序发送的消息,消息类型是字符串,每个消息都需要一个函数进行处理。最基本的处理:

按照表驱动的设计思路,可以这样设计:

 复杂一点的表驱动:

考虑一个消息(事件)驱动的系统,系统的某一模块需要和其他的几个模块进行通信。它收到消息后,需要根据消息的发送方,消息的类型,自身的状态,进行不同的处理。

比较常见的一个做法是用三个级联的switch分支实现通过硬编码来实现:

用表驱动的方法来实现:根据定义的三个枚举:模块类型、消息类型、自身模块状态,定义一个函数跳转表

猜你喜欢

转载自www.cnblogs.com/tongyishu/p/11682115.html