0

まず、私のケースがスプリング ステート マシンの使用に適しているかどうかはよくわかりません。

これが私のケースです:

大きな可変オブジェクトと、この可変オブジェクトを特定の順序で操作する一連の論理ユニットがあります。

通常のフローの場合: A.exec -> B.exec -> C.exec -> Done

A から例外がスローされる悪いフローの場合: A -> エラー -> 完了 (B と C はバイパスされます)

B から例外がスローされる悪いフローの場合: A -> B -> 別のフロー

A、B、C は状態としてモデル化できると思いますが、A から B に移動するときにアクションを使用して実際のビジネス ロジックを実行できます。

A からスローされた可能性のある例外をキャプチャし、ターゲットを B ではなく別の状態に変更するにはどうすればよいですか?

ありがとう

レオン

4

1 に答える 1

1

私はjunctionor choiceand を使用して、発信遷移のガードを定義します。gh240で議論されている何か。次に、例外をキャッチして、何かを拡張状態で保存し、ガードからさまざまな条件を自由に評価できます。

選択はif/elseif/else、移行のためにどのブランチ マシンに従うかを定義するための構造です。

同じコンセプトでモデル化された展開サンプルもあります。

于 2016-09-28T10:25:06.857 に答える