Web 開発では、状態を最小化 (または排除) することを目的として、REST スタイルのアーキテクチャに多くの焦点が当てられています。私が見た Web フレームワークはすべて、このスタイルを強調しています (Django、Rails、flask など)。
これが一般的に Web に適していることには同意しますが、不十分な場合も多くあります。特に、ユーザーにプロセスをたどってもらいたい場合、つまり、いくつかのステップを提供したい場合、これらのステップを特定の順序で完了する必要がある場合を考えています (オプションのステップ、逸脱したパスなどを使用する可能性があります)。
これの良い例はショッピング カートかもしれません。最初に選択を行い、次に住所を入力し、配送タイプを選択し、支払いの詳細を入力して終了します。ユーザーがこれらの手順を省略したくない場合は、プロセスがより複雑になる可能性があります。理想的には、このロジックを実装の残りの部分から分離するために、このプロセスを別の場所で定義したいと考えています。
今私の質問:
有限状態マシンはここに行く方法ですか? これらのプロセスが複雑になり、多くの変更が必要になった場合でも、それらはうまく機能しますか?
Web フレームワークによって、または Web フレームワークに対してどのようなオプションが提供されていますか (特に最適なソリューションに関心があるわけではありません)。
そのようなプロセスが発生する興味深い/良い例は何ですか? ショッピング カートはわかりやすい例ですが、他にもたくさんあると思います。