1

一部のイベントが外部 (システムのユーザーから) および内部 (独自のコード) であるイベント ドリブン ステート マシンがあります。簡単にするために、IE (内部イベント) と EE (外部イベント) の 2 つの頭字語を使用します。

アルゴリズム:

IE-1: change state -> Running
Event IE-1 detected and action taken on event is authenticate.
IE-2: change state -> Authentication success
Event IE-2 detected and action on event is to send reply to client.
EE-3 client replies state -> Closed
Event IE-3 detected and action on event is to release all resources on server.

今、私の提案は、すべての内部イベントをテンプレート関数のようなものに置き換え、イベント処理を EE だけに使用できるようにすることです。したがって、新しいシステムは次のようになります。

template {

  change state to running.
  authenticate
  change state to auth success
  reply client
}

// Event trigger.

onEvent-closeConnection() {

}

これは正しいことですか?提案/フィードバックはありますか? sequence of controlこの変更の主な目的は、システムが非常に複雑になり、コードを見ただけではフローを追跡することが難しくなったことです。イベント処理コードが、実行するアクションと同じファイルにありません。これにより、デバッグが困難になりました。テンプレートはアトミック操作です。

4

0 に答える 0