ソフトウェアアーキテクチャ博物館AtMuseum 解法パターン解説


イベント駆動の原則

説明

イベントは一箇所で受け取り、アクションは走り切る。

 

イベントの受信箇所は一箇所にして、イベント後の制御スレッドの途中でイベント待ちをしない。

制御スレッドの途中で、特定のイベントを待つ(例えば、外部にイベント発行して、その応答をその場で待つ)と、

再現性の低い不具合に直結します。

すなわち、イベントを受け取る順番がハードコーディングされてしまうため、想定している順番でイベントが来ないと不具合になります。

イベントの発生順序によって動かなくなるような「信頼性」の低いプログラムになります。

また、特定のイベントを待っている間は、他のイベントを受け取ることができないので、ボタンが効かないといった「使用性」も低下します。

そして、特定のイベント待ちが複数個所に点在してしまうため「保守性」も低くなります。「イベント待ちを一箇所忘れた」というような対策は、無駄な対策といえます。

 

また、制御スレッドの途中のdelay()などでのタイミング合わせも、イベント駆動の原則に反します。CPU時間を無駄使いしてしまうので、システム全体としての「効率性」が低下します。

イベントは一箇所で受け取り、アクションは走り切る。