获取状态机ID但获得相同功能的最佳方法

时间:2015-11-10 23:52:23

标签: state

我们目前有一台状态机可以执行以下类似操作。

Switch(state)
{
    Case A:
              DoA();
              state = B;
              break;
    Case B: DoB();
            state = C;
            break;
    Case C: if(condition)
               state = A;// Start from A again
            else
               state = D;
               break;
    .... more states
}

作为一个团队,我们决定摆脱状态机,现在我正在努力使代码尽可能线性化。我们使用c ++。

实现这一目标最优雅的方法是什么?我正在考虑将代码作为单个函数并再次调用相同的函数,但我不满意递归调用它。

有什么想法吗?

0 个答案:

没有答案