複数の階層的な深さを持つステート マシンが必要なネットワーク プログラミングのシナリオがあります。
State Machine 1
State Machine 2
State Machine 3
State Machine 4
ここで、State Machine1
には 2 つのステート マシン2
とが含まれています3
。3
マシンも含まれています4
。
外側のマシンの状態に基づいて、メッセージは内側の状態マシンを通過する必要があります。また、内部ステート マシンに何らかのエラーがある場合は、フィードバックを上位マシンに与える必要があります。
これを行うための良いアプローチはありますか?
今、私はこれを行う if ステートメントとフラグのジャングルを持っています。状態マシンの状態全体が回復不能な状態になるため、フラグが設定されないという問題に直面し続けています。
更新: 状態とマシンを静的に保とうとしています。リクエストはマシンと状態を通過するため、リクエスト自体が必要なすべてのメタデータを保存します。この場合、通常のステート マシン パターンは役に立ちません。