我自己并不完全确定我在这里要求什么,所以请耐心等待我一秒。调度自动化
基本上,我有有,除其他事项外,能够处理从一些外部源接收命令的应用程序,比方说,一个插座。
每个命令使用特定两个数据结构,此命令 - 一个结构保存一组相关于该命令的处理参数时,另一个接收一些得到的数据。
当然,数据传输处理程序类并不知道哪些命令使用其结构,因此接收到的命令之后调用的第一件事情是这样的外观:
CSocketHandler::ReceiveCommand(int CommandCode, const TBuffer& Args, TBuffer& Result);
,最后一个看起来是这样的:
CClassBar::ProcessCommandFoo(const TFooArgs& Args, TFooResult& Result);
现在,所有缺少的是将TBuffer转换为TFooArgs,调用正确的方法,然后将TFooResult转换回TBuffer(A转换很简单)的部分。
不同的处理程序类和命令的数量相当大,所以我在这里看到的是一种三英里长的方法,它对不同的数据类型做同样的事情,然后一次又一次地调用不同的函数。
所以我的问题 - 是它可以自动完成繁琐和容易出错的任务是什么?最好到定义一个新的消息处理方法就足够了,但我愿意妥协。
欢快的话,你跟着我的建议。那么谁在笑呢? –