表驱动

匿名 (未验证) 提交于 2019-12-03 00:15:02

表驱动法:

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

简单一点的表驱动:

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

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

复杂一点的表驱动:

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

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

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

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!