2016-04-18 2 views
0

現在、私は現在ステートマシンとして実装されている既存のアプリケーションを再設計/リファクタリングしようとしていますが、このデザインパターンがこの種のジョブに最適なソリューションであるかどうかはわかりません。ステートマシンは最高のソリューションです

シナリオ:設定デバイス

デバイス(センサー)、それらを使用することができる前に設定する必要があります。 Java EEアプリケーションがあり、ユーザーがデバイスの構成プロセスを開始します。その後、デバイスとアプリケーションの間でメッセージが送信されます。最後に、デバイスが設定されているか(またはエラー/タイムアウト状態)、外部システムへのレポートが送信されます。

現在、プロセスは状態マシンとして行われ、現在の状態がデータベースに保存されます。デバイスからメッセージを受信すると、保存された状態が取得され、次のメッセージがデバイス→次の状態に送信されます。デバイスが応答しない場合、タイマーはタイムアウトメッセージ - >次の状態(タイムアウト)を送信します

あなたはどう思いますか?ステートマシンパターンは本当にこのシナリオに適合していますか?どのデザインがよりフィットするか?

Thxを、 マルクス

答えて

1

それは、私のために正常に見える別の代替は、BPMを使用している可能性が、私はそれは、物事の別の種類を対象としてだと思います。

関連する問題