何かが起こったときにやるべきことをすべて定義し、
本当に感謝しています。
しかし、まだそれを試したことはありません。
私の質問は: ステート マシン ベースのシステムを設計する方法は?
何かが起こったときにやるべきことをすべて定義し、
本当に感謝しています。
しかし、まだそれを試したことはありません。
私の質問は: ステート マシン ベースのシステムを設計する方法は?
State Patternを見たことがありますか?こちらも。Apache Commons SCXML も役に立つかもしれません。
たくさんの小さなバガー。
最初に有限状態マシンの理論的基礎を調べて、それらがどのようなタスクに適しているかを理解することをお勧めします。
http://en.wikipedia.org/wiki/Finite state machineは、開始するのに適した場所です。
私の経験では、ステート マシンの基礎は switch ステートメントです。
その中の各ケースは、マシンの状態を表しています。
switch ステートメントは定期的に呼び出す必要があります。これは、コード化されたループ内またはイベント ハンドラー内で行うことができます。それは、ステートマシンが何をしているか、ソフトウェアをどのように実行または反応させたいかによって大きく異なります。
状態を変更するには、case ステートメント内から状態変数を更新します。
「状態イベント」駆動型アーキテクチャは、かなりの数のアプリケーション ドメインで使用されています。実際、 smc (State Machine Compiler)と呼ばれるツールがあります。このツールは、ステート マシンの仕様を取り (lex と yacc がスキャナーとパーサーの定義を取るのと同じように)、それを実装するために C または他の言語でコードを生成します。