ソフトウェアアーキテクチャ博物館AtMuseum 解法パターン解説
イベント駆動の原則
説明 | イベントは一箇所で受け取り、アクションは走り切る。
イベントの受信箇所は一箇所にして、イベント後の制御スレッドの途中でイベント待ちをしない。 制御スレッドの途中で、特定のイベントを待つ(例えば、外部にイベント発行して、その応答をその場で待つ)と、 再現性の低い不具合に直結します。 すなわち、イベントを受け取る順番がハードコーディングされてしまうため、想定している順番でイベントが来ないと不具合になります。 イベントの発生順序によって動かなくなるような「信頼性」の低いプログラムになります。 また、特定のイベントを待っている間は、他のイベントを受け取ることができないので、ボタンが効かないといった「使用性」も低下します。 そして、特定のイベント待ちが複数個所に点在してしまうため「保守性」も低くなります。「イベント待ちを一箇所忘れた」というような対策は、無駄な対策といえます。
また、制御スレッドの途中のdelay()などでのタイミング合わせも、イベント駆動の原則に反します。CPU時間を無駄使いしてしまうので、システム全体としての「効率性」が低下します。 |
---|---|
例 | イベントは一箇所で受け取り、アクションは走り切る。 |