Ube*_*per 4 c++ boost rational-rose
我基本上有这个问题:现在,我们有一个系统,它获取一个字符串作为输入,它基本上说ACTION:.
对于每个动作,都有一个自动生成的函数(Rational Rose GRRR),例如
bouncer_comm.chatMessage("data goes here").sendAt(msg->sapIndex0());
bouncer_comm.askforname().sendAt(msg->sapindex0());
Run Code Online (Sandbox Code Playgroud)
bouncer_comm返回一个RTOutSignal,我无法手动创建它们,因为玫瑰使用了奇怪的结构.
现在,我唯一的选择是创建一百个左右的if语句,我这样做:
if(action == "CHAT") bouncer_comm.chatMessage("data goes here").sendAt(msg->sapIndex0());
Run Code Online (Sandbox Code Playgroud)
这真是令人烦恼.
什么是避免这种情况的最佳方法?我看过/试过无数的东西,这是理性玫瑰(前2k)的旧版本,是的.
如果有人有任何想法会很惊人.
小智 12
我喜欢@ cobbal关于上面的函数指针哈希的想法,但是你可以用多态来替换这个条件逻辑.
请参阅:http: //c2.com/cgi/wiki ?ReplaceConditionalWithPolymorphism
| 归档时间: |
|
| 查看次数: |
1833 次 |
| 最近记录: |