代码之家  ›  专栏  ›  技术社区  ›  Ariam1

在代码中的两个状态之间在哪里交换数据,这样就不会引入全局变量并且没有单例?

  •  1
  • Ariam1  · 技术社区  · 7 年前

    假设FSM有两种状态:

    1S1生成一些数据
    2S2需要的正是这些数据


    我想到了这个psudo代码:

    // method: changeState()...        
    switch(changeTo){
        case "S2":
            // done with existence verification...
            S2 = stateFactory.byData(S1.getData());
            FSM.changeState(S2);
            break;
    }
    

    这将为工厂引入一个额外的参数,并且还可以使用数据处理进行长开关,其中开关只是一个开关。


    当涉及到代码设计时,在哪里进行数据交换是最好的?

    0 回复  |  直到 7 年前
    推荐文章