現在、私は現在ステートマシンとして実装されている既存のアプリケーションを再設計/リファクタリングしようとしていますが、このデザインパターンがこの種のジョブに最適なソリューションであるかどうかはわかりません。ステートマシンは最高のソリューションです
シナリオ:設定デバイス
デバイス(センサー)、それらを使用することができる前に設定する必要があります。 Java EEアプリケーションがあり、ユーザーがデバイスの構成プロセスを開始します。その後、デバイスとアプリケーションの間でメッセージが送信されます。最後に、デバイスが設定されているか(またはエラー/タイムアウト状態)、外部システムへのレポートが送信されます。
現在、プロセスは状態マシンとして行われ、現在の状態がデータベースに保存されます。デバイスからメッセージを受信すると、保存された状態が取得され、次のメッセージがデバイス→次の状態に送信されます。デバイスが応答しない場合、タイマーはタイムアウトメッセージ - >次の状態(タイムアウト)を送信します
あなたはどう思いますか?ステートマシンパターンは本当にこのシナリオに適合していますか?どのデザインがよりフィットするか?
Thxを、 マルクス