假设FSM有两种状态:
1S1生成一些数据
2S2需要的正是这些数据
我想到了这个psudo代码:
// method: changeState()...
switch(changeTo){
case "S2":
// done with existence verification...
S2 = stateFactory.byData(S1.getData());
FSM.changeState(S2);
break;
}
这将为工厂引入一个额外的参数,并且还可以使用数据处理进行长开关,其中开关只是一个开关。
当涉及到代码设计时,在哪里进行数据交换是最好的?