[相关文章知识补充]
表驱动法 ( able-Driven Methods)
表驱动法是一种编程模式 (scheme)——从表里面查找信息而不使用逻辑语句(if 和
case)。事实上,凡是能通过逻辑语句来选择的事物,都可以通过查表来选择。对简单的情况而言,使用逻辑语句更为容易和直白。但随着逻辑链的越来越复杂,查表法也就愈发的显得具有吸引力。
函数指针在表驱动方法中的应用
函数指针在表驱动方法中的应用
在使用表驱动方法时需要说明的一个问题是,你将在表中存储些什么。
- 在某些情况下,表查寻的结果是数据。如果是这种情况,你可以把数据存储在表中。
- 在其它情况下,表查寻的结果是动作。在这种情况下,你可以把描述这一动作的代码存储在表中。
- 在某些语言中,也可以把实现这一动作的子程序的调用存储在表中,也就是将函数的指针保存在表中,当查找到这项时,让程序用这个函数指针来调用相应的程序代码,这个就是函数指针在表驱动方法中的应用。
有过工作经验或者编程经验的人基本上都遇到过在一个函数里面处理事件,消息或者命令等逻辑行为。形式大概如下:
typedef enum msg_type_def
{
MSG_TYPE_A,
MSG_TYPE_B,
MSG_TYPE_C,
}msg_type_t;
void do_process_MsgA(int argc, char* argv[])
{
//todo something.
}
void do_process_MsgB(int argc, char* argv[])
{
//todo something.
}
void do_process_MsgC(int argc,

本文探讨了表驱动法作为一种编程模式,特别是在处理复杂逻辑和消息处理时的应用。通过对比传统的switch-case语句,展示了如何使用函数指针和表驱动法来优化代码结构,提高代码的可读性和可维护性。
最低0.47元/天 解锁文章
895

被折叠的 条评论
为什么被折叠?



