表驱动


表驱动法:

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

简单一点的表驱动:

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

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

 复杂一点的表驱动:

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

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

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


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM